Ну вот синтаксис такой: for i in something: Вот этот вот something — это именно итерируемый объект или итератор? )))
отправить в /dev/null
Сделай так чтобы оно писало не в одну переменную, а имело отдельный скоуп на каждой итерации как в котлине или жсе
Ух, все так же жестко) Помню я очень обижался на такие ответы)
Я не совсем понимаю и разбираюсь в том, что ты говоришь. Но я попробую. Ты имеешь в виду завести что-то типа словаря или хэш-таблицы, где мы бы хранили "шаги", чтобы можно было потом как-то отмотать?
В питоне ни циклы ни ифы нихуя вообще не делает своих скоупов, все использует скоуп функции
Я всё равно не сильно понял. Как бы отработало то что ты хочешь в этом случае?
Это мой цикл for и я не могу понять что от меня хочет человек сверху. Про эти скоупы не пойму. Он хочет чтобы был свой скоуп, а я не могу понять что это значит.
Попробуй обойти range(10) и засунуть в массив лямбды которые делают print(i), а потом их все вызвать
покажи на примере обычного for что ты хочешь и какой вывод ты ожидаешь...
a = [] for i in range(10): a.append(lambda: i) for j in a: print(j()) Ожидаю 0 1 2 3 4 5 6 7 8 9 Получаю 9 9 9 9 9 9 9 9 9 9
Ну как такое сделать понятно, надо просто скоуп под каждую итерацию
[x for x in range (10)]
Понятное дело что это упрощенный пример
Эм? Строки?
Ну блин, с эвалом любой дурак
Ну ты сам хотел именно так чтобы работало )
Я хотел чтобы ты форкнул питон, переписал кусок с циклами и заново собрал
Не надо переписывать питон. Можно просто написать: a = [] for i in range(10): a.append(lambda i = i: i) for j in a: print(j())
def foo(i): return i a = [] for i in ranget(10): a.append(partial(foo, i))
Что ещё за partial?
Ну в смысле? Тебе же надо было чтобы оно работало именно так — оно так и работает. Просто нафига язык переделывать, если всё и так работает.
Мне надо было чтобы оно работало как есть, вот просто берешь тот же код и он дает ожидаемое поведение
Обсуждают сегодня