ここで少し助けが必要です。私は新しい Python コーダーです。私はたくさんの助けが必要です。したがって、2 つの辞書に異なる変数を追加したいと考えています。例は次のとおりです。
x = {'a':1, 'b':2}
y = {'b':1, 'c':2}
これらの値を次のように置き換えます。
x = {'a':1, 'b':2, 'c':0}
y = {'a':0, 'b':1, 'c':2}
変数の順序は同じでなければなりません。私を助けてください。
ここで少し助けが必要です。私は新しい Python コーダーです。私はたくさんの助けが必要です。したがって、2 つの辞書に異なる変数を追加したいと考えています。例は次のとおりです。
x = {'a':1, 'b':2}
y = {'b':1, 'c':2}
これらの値を次のように置き換えます。
x = {'a':1, 'b':2, 'c':0}
y = {'a':0, 'b':1, 'c':2}
変数の順序は同じでなければなりません。私を助けてください。
まず、Python dict は順序付けされていませんが、順序付けが必要な場合はcollections.OrderedDictを使用できます。
ただし、通常の辞書の場合、次の方法でエントリを追加できます。
x = {'a':1, 'b':2}
y = {'b':1, 'c':2}
x.update({'c':0})
y.update({'b':1})
またはこの方法:
x.update(c=0)
y.update(b=1)
または(iamthepiguyによるコメント)このように:
x['c'] = 0
y['b'] = 1
同時に多くのエントリを更新/追加したい場合は、これを使用できます:
x.update({'c':0,'d':5,'x':4}
# or the same in the other way
x.update(c=0,d=5,x=4)
上記の方法でエントリを変更することもできます。辞書に既にあるキーと新しい値を使用するだけです。x['a']=7
.
dict.update の詳細については、こちらをご覧ください。
OrderedDict の例:
import collections
dx = {'a':1, 'b':2}
dy = {'b':1, 'c':2}
dx['c'] = 0
dy['a'] = 0
x = collections.OrderedDict(sorted(dx.items(), key=lambda t: t[0])) # lambda sorts dictionary items by key, and puts in ordered dictionary
y = collections.OrderedDict(sorted(dy.items(), key=lambda t: t[0]))
この結果は次のとおりです。
>>> x
OrderedDict([('a', 1), ('b', 2), ('c', 0)])
>>> y
OrderedDict([('a', 0), ('b', 1), ('c', 2)])
それがあなたの質問に答えることを願っています。