python - 在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)
不能工作。谁能帮我在循环内的一行中完成这项工作。
解决方案
我建议您使用 adict
来保存所有列表。也许是这样的:
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]}
注意:在这种情况下,假设元素 in 的顺序var_list
对应于列表的名称(位置i
in的元素var_list
将转到i
名称为 in 的列表)。
推荐阅读
- php - Laravel Auth:返回 json 而不是重定向
- ios - Cordova 文件插件返回错误代码:12,PATH_EXISTS_ERR 仅在 iOS 上
- php - 在 ccavenue 支付 getway 集成中调用未定义函数 mcrypt_module_open() 显示错误
- angular - 带有 PrimeNg 编辑器的 Angular 表单 -> 如何使用 Cypress.io 进行测试
- java - 如何在不记住密码的情况下以编程方式连接到 Wifi?
- haskell - Haskell中并行构建树的策略
- swift - 生成巨大随机数时出现 malloc 错误
- php - 我应该如何在每列 50 条记录中使用 HTML 标记显示结果(最后一列除外)?
我编写了一个程序,它目前生成 540 个不同的数字。
我想使用 HTML 标记在每个有 50 条记录的列中显示这 540 个不同的数字(除了记录数应小于 50 的最后一列),
<table>
但我无法这样做,因为有很多循环和条件得到应用。以下是我的程序:
<?php function fi
- ajax - 引导切换以更新 Laravel 5 中的数据库
- jquery - 将内容添加到
选择器