2012-08-07 2 views
0

J'ai actuellement un dictionnaire qui ressemble à ceci:Annexer un Dict à un Dict

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

Qu'est-ce que Im recherchez est d'ajouter un dict à chaque liste de clés. Le dict serait quelque chose comme:

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

Le résultat final ressemblerait à ceci:

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

Merci,

Répondre

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  

sortie:

{'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

parfait - Merci. – felix001

2

Vous ajoutez votre dict supplémentaire pour chaque liste dans les valeurs, qui sont des listes se. Ce sont mutable, donc juste référence à ces listes internes directement:

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

Notez l'utilisation de là .copy(); nous créons une nouvelle copie de la structure yourotherdict pour ajouter à chaque fois, sinon ils seront tous les même dict et en manipulant on manipulera toutes les références dans chaque liste.