如何在python中从另一个列表的元素自动生成列表

如何在python中从另一个列表的元素自动生成列表,python,list,for-loop,Python,List,For Loop,我有一个包含n个元素的列表X,所以我想从列表X生成每个元素的列表 X = [ Task_1 , Task_2 , ... ] for ele in X: ele = [] 现在,如果我使用下面的代码,它会给我一个错误 print(len(Task_1)) Output: Task_1 is not defined 虽然我不建议这样做,但您可以: X = ['Task_1', 'Task_2', 'Task_3'] for item in X: globals()[item]

我有一个包含n个元素的列表X,所以我想从列表X生成每个元素的列表

X = [ Task_1 , Task_2 , ... ]
for ele in X:
    ele = []
现在,如果我使用下面的代码,它会给我一个错误

print(len(Task_1))
Output:
Task_1 is not defined

虽然我不建议这样做,但您可以:

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))

您可以创建嵌套列表或字典。

虽然我不建议这样做,但您可以:

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))

您可以创建嵌套列表或字典。

使用字典:

X = ['Task_1', 'Task_2', 'Task_3']

container = dict()
for item in X:
    container[item] = list()
之后,你将有一个

container["Task_1"]

作为一个列表。另一种方法是将globals[item]=列表包含在循环中,但这确实会弄乱您的命名空间。

请改用字典:

X = ['Task_1', 'Task_2', 'Task_3']

container = dict()
for item in X:
    container[item] = list()
之后,你将有一个

container["Task_1"]

作为一个列表。另一种方法是在循环中包含globals[item]=list,但这确实会弄乱您的名称空间。

变量assigment不是这样工作的。实际上,只有ele作为变量。要么使用全局变量,要么使用字典。你能多发布一点吗?您是如何定义Task_1的?因此希望每个元素都有一个空列表?或者,您希望每个元素都有一个列表?像[[Task1]、[Task2]]这不是变量分配的工作方式。实际上,只有ele作为变量。要么使用全局变量,要么使用字典。你能多发布一点吗?您是如何定义Task_1的?因此希望每个元素都有一个空列表?或者,您希望每个元素都有一个列表?比如[[Task1],[Task2]]