#python #list #for-loop
Вопрос:
У меня есть список X из n элементов, поэтому я хочу сгенерировать список каждого элемента из списка X.
X = [ Task_1 , Task_2 , ... ]
for ele in X:
ele = []
Теперь, если я использую следующий код, он выдает мне ошибку.
print(len(Task_1))
Output:
Task_1 is not defined
Комментарии:
1. Это не тот способ, которым работает назначение переменных. На самом деле у вас есть только
ele
переменная. Либо используйте глобальные переменные, либо вообще словарь.2. Можете ли вы опубликовать немного больше? Как вы определили
Task_1
это ?3. Итак, вы хотите иметь пустой список для каждого элемента? Или вы хотите иметь списки с каждым отдельным элементом? Нравится
[[Task1], [Task2]]
Ответ №1:
Вместо этого используйте словарь:
X = ['Task_1', 'Task_2', 'Task_3']
container = dict()
for item in X:
container[item] = list()
После этого у вас будет, например
container["Task_1"]
в виде списка. Другой способ включил globals()[item] = list()
бы в цикл, но это действительно портит ваше пространство имен.
Ответ №2:
Хотя я не рекомендую этого делать, но вы можете :
X = ['Task_1', 'Task_2', 'Task_3']
for item in X:
globals()[item] = []
print(Task_1)
print(len(Task_1))
print(Task_2)
print(len(Task_2))
Вместо этого вы можете создать вложенный список или словарь.