在Python中过滤掉字典列表中的值

时间:2014-03-03 21:24:22

标签: python list dictionary

我想过滤掉词典列表中元组的最后一个值。例如

X = [{'a': (123, 12445), 'b': (234, 34)}, {'a': (45666, 4), 'b': (3, 12)}]

Y = [{'a':  123, 'b': 234}, {'a': 45666, 'b': 3} ]

我的尝试:

[{ j: i[j][0] } for j in i.keys() for i in result ]

但我明白了:

[{'a': 123}, {'a': 45666}, {'b': 234}, {'b': 3}]

任何帮助?

1 个答案:

答案 0 :(得分:3)

修改

字典理解仅适用于Python 2.7+。由于您使用的是Python 2.6,因此可以将dictgenerator expression

一起使用
>>> X = [{'a': (123, 12445), 'b': (234, 34)}, {'a': (45666, 4), 'b': (3, 12)}]
>>> [dict((k, v[0]) for k,v in x.iteritems()) for x in X]
[{'b': 234, 'a': 123}, {'b': 3, 'a': 45666}]
>>>