2015-01-30 4 views
0

에 사전의 목록을 변환 I가 하나의 요소 사전의 다음 목록 :는 DICT

[{'\xe7': '\xe7\x95\xb6\xe6\x96\xb0\x.'}, {'...\xe6\x991\xe7\xa8\x': 'asdf'}] 

가 어떻게이 딕셔너리에이 변환 할 ? 얻으려면 :

{ 
    '\xe7': '\xe7\x95\xb6\xe6\x96\xb0\x.', 
    '...\xe6\x991\xe7\xa8\x': 'asdf' 
} 
+0

최종 견해를 어떻게 보이고 싶습니까? – inspectorG4dget

+0

@ inspectorG4dget 업데이트 된 답변을 참조하십시오. – David542

답변

4

당신은 DICT 이해으로 작업을 수행 할 수 있습니다

이 구문은> 파이썬 버전의 작동
{k:v for element in dictList for k,v in element.items()} 

= 2.7. 파이썬 < 2.7을 사용하는 경우, 당신은 뭔가를해야 할 것 :

newDict = {} 
for element in dictList: 
    for k,v in element.items(): 
     newDict[k] = v 
:

당신이 이해 내부와 같은 중첩 익숙하지 않다면
dict([(k,v) for element in dictList for k,v in element.items()]) 

, 내가 무슨 짓을했는지 것은에 해당합니다

+3

이 구문은 python2.7에서도 작동합니다. – mgilson

+0

@mgilson 정정을 보내 주셔서 감사합니다 ... 저는 여전히 2.6 자신을 사용하고 있으며 자주 3x 시리즈 전용의 새로운 업그레이드에 대해서 듣습니다. 내가 그것을 거의 사용할 수 있다는 것을 아는 것이 좋다;). – Eithos

1

을 나는 아마 할 것 :

dct = {} 
for sub_dict in lst: 
    dct.update(sub_dict) 
+1

목록 이해력으로이를 수행 할 수있는 방법이 있습니까? – David542

+2

@ 데이비드 - 아마도,하지만 그게 전부 예쁘지는 않을 것입니다 ... 당신이 이해할만한 이유가 있습니까? – mgilson

+0

나는 이것이 독해력보다 더 읽기 쉽다고 생각한다. –