私は、キーを繰り返したりオリジナルを修正したりすることなく、2つの辞書(データベースと呼ばれます)を結合しようとしています。私は近いと思うが、私は現在、 'db1'が関数のパラメータの1つであっても定義されていないというエラーが出ています。ここで私はあなたがキーを見ることができるようにキーを繰り返さずに辞書をマージする
{'Pablo Picasso' : [('Guernica', 1937, 349.0, 776.0, 'oil paint', 'Spain')],
'Leonardo da Vinci': [('Mona Lisa', 1503, 76.8, 53.0, 'oil paint', 'France'),
("Portrait of Isabella d'Este", 1499, 63.0, 46.0, 'chalk', 'France'),
('The Last Supper', 1495, 460.0, 880.0, 'tempera', 'Italy')]}
を合併
{'Leonardo da Vinci': [('Mona Lisa', 1503, 76.8, 53.0, 'oil paint', 'France'),
('The Last Supper', 1495, 460.0, 880.0, 'tempera', 'Italy')]}
D2
{'Pablo Picasso' : [('Guernica', 1937, 349.0, 776.0, 'oil paint', 'Spain')],
'Leonardo da Vinci' : [("Portrait of Isabella d'Este", 1499, 63.0, 46.0, 'chalk', 'France'),
('The Last Supper', 1495, 460.0, 880.0, 'tempera', 'Italy')]}
合併
D1のように見えるためにそれらを必要なものを2つの辞書の一例であり、 "Leonardo da Vinci"は両方のディクショナリに表示されますが、マージされた辞書には一度しか表示されません。助けることができる誰にも感謝します。ここに私の現在のコードは次のとおりです。
def merge_databases (db1,db2):
ds = [db1, db2]
d = {}
for k in db1.iterkeys():
d[k] = tuple(d[k] for d in ds)
画像を使用しないでください。テキストを貼り付けるので、回答者は手伝ってみるときに再入力する必要がありません。 –
画像ではっきりとわかりますが、今すぐ入力します – n00bprogrammer22
元の出力とコードを適切にインデントして貼り付けてください。入力する必要はなく、エラーの可能性も低くなります。 –