2014-03-03 3 views
0

사전 목록에서 튜플의 마지막 값을 필터링하려고합니다. 예를 들어파이썬에서 사전 목록에서 값을 필터링

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

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

내 시도 :

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

하지만이 얻을 :

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

어떤 도움을?

답변

3

편집 :

사전 함축는 파이썬 2.7 이상에서 작동합니다. 파이썬 2.6에 있기 때문에, 당신은 generator expression 로모그래퍼 dict을 사용할 수 있습니다 : 유효하지 않은 구문 :

>>> 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}] 
>>> 
+0

어느 쪽이든, 나는 구문 에러를 얻을. 나는 파이썬 2.6을 사용하고있다 – NullException

+0

편집과 함께, 그것은 작동합니다. – NullException

관련 문제