2011-05-01 10 views
2

더 많은 Pythonic 방법이 있나요? 내가 있어야한다는 것을 안다.더 많은 파이썬 방법 사전 목록을 하나에 병합 하시겠습니까?

for form in forms: 
    d[form.keys()[0]] = form.values()[0] 

고마워요!

for form in forms: 
    d.update(form) 
+1

'for (key, val) in forms :'를하는 것은 더 pythonic이기도합니다. –

+0

그가 첫 번째 키만 원했을 수도 있습니다. 그러나 그것은 OrderedDict가 아니면 사전이 주문되지 않기 때문에 의미가 없습니다 – Pwnna

답변

6

나는 일반적으로 대부분의 시간 이후 x.update(y) 것보다 사전에 병합 dict(x,**y)을 사용하여 I 변화가 그 자리에있는 것을 원하지 마라. 이 경우에는 중요하지 않습니다.

+0

고마워요! 이것은 완벽 해! – Chris

+0

업데이트 (* 양식)가 작동하지 않는다는 것이 옳았습니다. 우연히 set.update 문서를보고있었습니다. +1. –

+1

-> [양식의 양식에 대한 d.update (form)] <- 실제로 더 평범한 것입니다. –

1
reduce(lambda acc,form: dict(acc,**form),forms) 

PS를 : 당신이 dforms에서 사전의 모든 키 - 값 쌍을 가지고 싶다면