在 python 中的循环中调用一系列具有相同名称的变量
Call a sequence of variables with same name inside loop in python
我有 5 个空列表 list1=[], list2=[], list3=[], list4=[], list5=[]
和包含 5 个变量的列表 var_list=[v1, v2, v3, v4, v5]
。我想将 var_list
内的每个变量附加到相应的空列表内。我手动完成这项工作:
list1.append(var_list[0])
list2.append(var_list[1])
list3.append(var_list[2])
list4.append(var_list[3])
list5.append(var_list[4])
我想在for循环中这样做,我知道var_list
的元素可以在循环内调用为var_list[i]
,但是我怎么能这样调用list
,其中所有变量 list
具有相同的名称和不同的数字。 'list'+str(i)
无法工作。谁能帮我在循环内的一行中完成这项工作。
我建议您使用 dict
来保存所有列表。也许是这样的:
my_lists = {
'list_{}'.format(i+1): []
for i in range(5)}
var_list = [1, 2, 3, 4, 5]
for i, elem in enumerate(var_list):
my_lists['list_{}'.format(i+1)].append(elem)
在 运行 之后,my_lists
将保持:
{'list_1': [1], 'list_2': [2], 'list_3': [3], 'list_4': [4], 'list_5': [5]}
注意:在这种情况下,假设 var_list
中元素的顺序对应于列表的名称(var_list
中位置 i
的元素将转到名称中包含 i
的列表)。
我有 5 个空列表 list1=[], list2=[], list3=[], list4=[], list5=[]
和包含 5 个变量的列表 var_list=[v1, v2, v3, v4, v5]
。我想将 var_list
内的每个变量附加到相应的空列表内。我手动完成这项工作:
list1.append(var_list[0])
list2.append(var_list[1])
list3.append(var_list[2])
list4.append(var_list[3])
list5.append(var_list[4])
我想在for循环中这样做,我知道var_list
的元素可以在循环内调用为var_list[i]
,但是我怎么能这样调用list
,其中所有变量 list
具有相同的名称和不同的数字。 'list'+str(i)
无法工作。谁能帮我在循环内的一行中完成这项工作。
我建议您使用 dict
来保存所有列表。也许是这样的:
my_lists = {
'list_{}'.format(i+1): []
for i in range(5)}
var_list = [1, 2, 3, 4, 5]
for i, elem in enumerate(var_list):
my_lists['list_{}'.format(i+1)].append(elem)
在 运行 之后,my_lists
将保持:
{'list_1': [1], 'list_2': [2], 'list_3': [3], 'list_4': [4], 'list_5': [5]}
注意:在这种情况下,假设 var_list
中元素的顺序对应于列表的名称(var_list
中位置 i
的元素将转到名称中包含 i
的列表)。