0

リスト内包表記を使用してこれを表現するためのより良い方法はありますか?または、これを1行で表現する他の方法はありますか?

元のディクショナリの各値をcolディクショナリの対応する値に置き換えるか、colディクショナリにない場合は変更しないでください。

col = {'1':3.5, '6':4.7}
original = {'1':3, '2':1, '3':5, '4':2, '5':3, '6':4}
for entry in col.iteritems():
    original[entry[0]] = entry[1]
4

1 に答える 1

2

updateはあなたが望むものだと信じています。

update([other])

他のキーと値のペアで辞書を更新し、既存のキーを上書きします。なしを返します。

コード:

original.update(col[user])

簡単なテスト:

user = "user"

matrix = {
    "user" : {
        "a" : "b",
        "c" : "d",
        "e" : "f",
    },
}

col = {
    "user" : {
        "a" : "b_2",
        "c" : "d_2",
    },
}

original.update(col[user])

print(original)

出力

{'a': 'b_2', 'c': 'd_2', 'e': 'f'}
于 2009-07-25T01:17:34.493 に答える