2012-08-07 3 views
0

에 DICT을 추가 :내가 현재 다음과 같습니다 사전 가지고 DICT

{'BOB': [['AUDI', 'BLACK', 'PETROL'], 
      ['MINI', 'PINK', 'PETROL'], 
      ['VW', 'BLUE', 'DIESEL']], 
'DAVE': [['BMW', 'PURPLE', 'PETROL'], 
      ['VOLVO', 'GREY', 'PETROL']]} 

임 찾고 무엇을 각 키 목록에 딕셔너리를 추가하는 것입니다. 최종 결과는 같을 것이다

{'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES} 

:

{'BOB': [['AUDI', 'BLACK', 'PETROL', 
      {'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES}], 
      ['MINI', 'PINK', 'PETROL', 
      {'TYRE': RUBBER, 'ALLOY': 17, 'SUNROOF': YES}] 
# ... 

감사합니다, 당신은 목록에있는 값의 각 목록에 추가 DICT를 추가

답변

1
dic={'BOB': [['AUDI', 'BLACK', 'PETROL'], 
      ['MINI', 'PINK', 'PETROL'], 
      ['VW', 'BLUE', 'DIESEL']], 
'DAVE': [['BMW', 'PURPLE', 'PETROL'], 
      ['VOLVO', 'GREY', 'PETROL']]} 
dic1={'TYRE': 'RUBBER', 'ALLOY': 17, 'SUNROOF': 'YES'} 
for x in dic: 
    for y in dic[x]: 
     y.append(dic1) 
print dic  

출력 :

{'BOB': [['AUDI', 'BLACK', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['MINI', 'PINK', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['VW', 'BLUE', 'DIESEL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}]], 'DAVE': [['BMW', 'PURPLE', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}], ['VOLVO', 'GREY', 'PETROL', {'ALLOY': 17, 'SUNROOF': 'YES', 'TYRE': 'RUBBER'}]]} 
+0

완벽한 - 감사합니다. – felix001

2

딕셔너리는 같은 일 것입니다 그들 자신. 이들은 그래서 그냥 바로 이러한 내부 목록을 참조, 변경할 수 있습니다

for valuelist in yourdict.values(): 
    for sublist in valuelist: 
     sublist.append(yourotherdict.copy()) 

참고가 .copy()의 사용; 우리는 매번 추가 할 yourotherdict 구조체의 새로운 사본을 생성하고 있습니다. 그렇지 않으면 모두 과 동일한 주소가됩니다.을 조작하고 하나를 조작하면 각 목록의 모든 참조가 조작됩니다.

관련 문제