【发布时间】:2022-01-12 00:28:43
【问题描述】:
我有一个包含几个元素的列表:
list = ["a", "b", "c", "d", "e", "f", "g"]
我需要一个 for 循环,它会生成多个列表,其中包含除一个元素之外的所有元素,并且还想适当地命名它们。它应该看起来像这样:
for i in list:
globals()['list_' + str(i)] = list.remove(i)
结果应该是这样的:
list_a = ["b", "c", "d", "e", "f", "g"]
list_b = ["a", "c", "d", "e", "f", "g"]
list_c = ["a", "b", "d", "e", "f", "g"]
list_d = ["a", "b", "c", "e", "f", "g"]
ect...
【问题讨论】:
-
做。不是。做。这。使用字典。
-
不要这样做。使用一个容器,比如另一个
list,或者在此处使用dict。不要动态修改变量。 -
注意,
list.remove(i)返回None,你为什么期待别的东西?你必须建立一个新的列表。注意,你不应该在迭代列表时修改它