【发布时间】:2016-07-27 06:38:41
【问题描述】:
假设我有一个包含两个字典的列表:
iter_list = [{0: [2, 1, 3],
1: [3, 2, 1],
2: [1, 2, 3],
3: [2, 3, 1],
4: [1, 2, 3],
5: [2, 3, 1]},
{0: [2, 3, 1],
1: [1, 2, 3],
2: [1, 2, 3],
3: [1, 2, 3],
4: [2, 3, 1],
5: [1, 3, 2]}]
每个字典有 6 个键,编号从 0 到 5。 我想按键的顺序一次遍历每个字典,并让输出与键(按键值排序)和对应列表的第一个值成对,第一个值对应于第二个键等,然后是键和第二个值等。希望示例输出能够澄清:
0 2
1 3
2 1
3 2
4 1
5 2
0 1
1 2
2 2
3 3
4 2
5 3
0 3
1 1
2 3
3 1
4 3
5 1
0 2 //2nd dictionary iteration
1 1
2 1
3 1
4 2
5 1
0 3
1 2
2 2
3 2
4 3
5 3
0 1
1 3
2 3
3 3
4 1
5 2
我只能弄清楚如何遍历第一个字典的第一个位置,但无法弄清楚如何使用 [0] 作为迭代变量来遍历值列表中的所有位置在继续阅读下一本词典之前。
for i in iter_list:
for key, value in i.iteritems():
print key, value[0]
非常感谢任何帮助!谢谢!
【问题讨论】:
-
为什么不以3,1,2结尾?
-
如果您使用唯一值而不是始终使用相同的少数值,该示例会更清晰。它需要那么大吗?
-
@StefanPochmann 我实际上使它比我原来的要短得多,但不希望列表长度为 2 和字典编号为 2 来混淆新迭代的开始位置。我正在使用的示例是使用排列,这就是我不使用唯一值的原因,但绝对是一个好点!感谢您的反馈!
标签: python python-2.7