0

現在、次のような辞書があります。

{'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}]
# ...

ありがとう、

4

2 に答える 2

2

リスト自体である値の各リストに追加のdictを追加します。これらは変更可能であるため、これらの内部リストを直接参照してください。

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

そこでの使用に注意してください.copy()yourotherdict毎回追加するための構造の新しいコピーを作成しています。そうでない場合、それらはすべて同じdictになり、1つを操作すると、各リストのすべての参照が操作されます。

于 2012-08-07T07:36:48.510 に答える
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'}]]}
于 2012-08-07T08:28:17.040 に答える