2017-10-16 3 views
0

어떻게 사전 값을 키로 병합 할 수 있습니까?

중복 나는 similar question posted here 발견이 질문을 주장하기 전에. 나는 파이썬 3을 사용하고 있기 때문에 그런 것 같지만, 제안 된 다양한 솔루션에 대해 TypeError: unsupported operand type(s) for +: 'dict_items' and 'dict_items'AttributeError: 'dict' object has no attribute 'iterkeys'을 받았습니다.

질문

나는 동일한 키를 가진 두 개의 사전을 가지고있다. 키를 동일하게 유지하지만 값이 결합 된 단일 사전으로 병합하고 싶습니다.

예를 들어, 몇 가지 샘플 성적표 데이터가 있습니다. 전설에 레이블로 사전 키 - 값 쌍을 배치하고 싶습니다. 가장 좋은 것입니다,하지만 목록 (예 : [84, 'B']는) : 내가 얻을 수있는 사전을 수정하는 방법

dict_one = {'average' : 84, 'median' : 86.5, 'stdev' : 3.35} 
dict_two = {'average' : 'B', 'median' : 'B+', 'stdev' : 'F'} 

다시

dict_res = {'average' : (84, 'B'), 'median' : (86.5, 'B+'), 'stdev' : (3.35, 'F')} 

나는 튜플 ((84, 'B') 예) 생각도 작업 할 수 있습니다.

+1

'{키 (dict_one [키], dict_two [키]) dict_one의 키}'당신은 항상 같은 키가있는 경우. –

답변

0

시도 :

dict_one = {'average' : 84, 'median' : 86.5, 'stdev' : 3.35} 
dict_two = {'average' : 'B', 'median' : 'B+', 'stdev' : 'F'} 
ds = [dict_one, dict_two] 
d = {} 
for k in dict_one.keys(): 
    d[k] = tuple(d[k] for d in ds) 

print(d) 
관련 문제