python - 如何将许多大小未知的列表放入字典中
问题描述
我正在处理许多表,这些表的行数不一样。使用 for 循环,我可以浏览这些表的内容并将其放入两个列表中。对于 for 循环的每次迭代,这些列表的内容将根据这些表的内容进行更改。之后,我希望将每次迭代的这些列表的内容放入一个列表中。
例如:
我可以手动将下面两个列表的内容放入字典中,但这应该没问题,如果我有两个已知维度的列表(行数已知),但如果我有两个未知行数的列表,这是行不通的。
表格1
player1 = ['1','2','3']
player2 = ['4','5','6']
d ={}
d['players'] = {}
d['players']['player1'] = []
d['players']['player1'].append(T1[0])
d['players']['player1'].append(T2[0])
d['players']['player2'] = []
d['players']['player2'].append(T1[1])
d['players']['player2'].append(T2[1])
d['players']['player3'] = []
d['players']['player3'].append(T1[2])
d['players']['player3'].append(T2[2])
print(d)
### {'players': {'player1': ['1', '4'], 'player2': ['2', '5'], 'player3': ['3', '6']}}
如果我有来自其他表的其他两个列表,其中行数未知,并且想要添加到另一个字典,其中字典的值(元素)将在 for 循环的每次迭代中发生变化,我该怎么办?
例如:
表:2
player1 = ['7','8','9',.....]
player2 = ['1','4','7',.....]
字典应该是:
d = {'players': {'player1': ['7', '1'], 'player2': ['8', '4'], 'player3': ['9', '7'], .......}}
最后,我想将上面这两个字典添加到列表中
List = [{'players': {'player1': ['1', '4'], 'player2': ['2', '5'], 'player3': ['3', '6']}}, {'players': {'player1': ['7', '1'], 'player2': ['8', '4'], 'player3': ['9', '7'], .......}}]
解决方案
您可以使用如下代码中的 for 循环来执行此操作:
d = {'players':{}}
for i in range(len(player1)): # Assuming length if player1 is same as player2
player = 'player'+str(i+1) #String Concat
d['players'][player] = [player1[i],player2[I]]
要将它们存储在列表中,您可以将d
using替换d1
为第一个表和d2
第二个表,如下所示
final_list = [d1,d2]
推荐阅读
- c# - 我可以从sql获取多个数据类型记录到arraylist并以另一种形式获取吗
- r - 'svr' 的参数调整
- django - Django - 为用户调整管理面板
- r - 将 stat_compare_means 与 r 中的 facet 相结合:仅计算 1 个 facet 的 p 值
- spring-boot - 如何在具有正在运行的 spring-boot 应用程序的 kubernetes pod/容器中运行 cron?
- indexing - Google bot indexing.many |GET| 要求
- powershell - powershell 中基于 .INPUTS/.OUTPUTS 注释的帮助的正确语法?
- ruby-on-rails - 在 Windows 上使用 fastimage gem 时,Puma 崩溃,进程完成并退出代码 -1073741819 (0xC0000005)
- spring-boot - Spring data JPA - 1.5 将结果转换为非实体 POJO 类
- excel - 删除按钮添加到新行并删除行/移动工作表