如何在python中迭代列表中的字典

时间:2015-02-07 22:18:22

标签: python python-2.7

这是遍历目录中不同文件夹的输出:

r= [{'s.data': [22, 10, 21, 2, 3, 3, 4, 4, 4], 'd.data': [1, 5, 3,67,8,4, 9, 0, 2], 'q.data': [2, 3, 4, 5, 6, 3, 4, 2, 32], 't.data': [32, 21, 9, 2, 13, 5, 4, 9, 7], 'k.data': [3, 7, 2, 5, 68, 90, 23, 11, 22]}, {'s.data': [9, 8, 7, 6, 5, 4, 3, 2, 1], 'd.data': [2, 6, 3, 8, 9, 0, 3, 2, 5], 'q.data': [1, 2, 3, 4, 5, 6, 7, 8, 9], 't.data': [0, 8, 9, 7, 5, 6, 4, 2, 3], 'k.data': [4, 3, 2, 6, 7, 8, 9, 0, 1]}, {'s.data': [4, 3, 6, 4, 7, 2, 8, 1, 9], 'd.data': [6, 4, 3, 5, 6, 7, 8, 9, 0], 'q.data': [23, 2, 3, 6, 8, 4, 5, 0, 8], 't.data': [2, 1, 3, 4, 5, 11, 2, 6, 7], 'k.data': [1, 0, 2, 9, 3, 8, 4, 7, 4]}, {'s.data': [1, 9, 7, 0, 2, 4, 2, 3, 5], 'd.data': [4, 3, 7, 9, 2, 3, 0, 9, 10], 'q.data': [0, 23, 4, 2, 4, 6, 8, 3, 0], 't.data': [4, 1, 7, 4, 0, 8, 9, 9, 0], 'k.data': [9, 2, 6, 1, 2, 3, 5, 6, 9]}, {'s.data': [22, 10, 21, 2, 3, 3, 4, 4, 4], 'd.data': [5, 7, 4, 5, 8, 9, 0, 2, 3], 'q.data': [3, 2, 4, 5, 6, 7, 8, 9, 1], 't.data': [2, 3, 1, 4, 5, 6, 7, 8, 0], 'k.data': [3, 2, 5, 6, 7, 4, 5, 6, 2]}]

如何在没有按键的情况下仅打印如下所示的值,如下所示:

[[22, 10, 21, 2, 3, 3, 4, 4, 4], [9, 8, 7, 6, 5, 4, 3, 2, 1], [4, 3, 6, 4, 7, 2, 8, 1, 9], [1, 9, 7, 0, 2, 4, 2, 3, 5]]

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

如果您不需要在s.datak.data等密钥上进行特定排序,那么这样的事情就可以解决问题。

 print [x.values() for x in r]

或者,如果您只关心s.data或任何其他特定密钥,则可以

k = 's.data'
print [x[k] for x in r]

答案 1 :(得分:0)

您显然只想要每个词典中键's.data'的值。你可以这样做:

[d['s.data'] for d in r]