如何从python中的两个词典构造一个字典?

Mer*_*ero 16 python python-2.7

假设我有一本字典:

x = {"x1":1,"x2":2,"x3":3}
Run Code Online (Sandbox Code Playgroud)

我有另一本字典:

y = {"y1":1,"y2":2,"y3":3}
Run Code Online (Sandbox Code Playgroud)

有没有任何巧妙的方法来构建前两个字典中的第三个字典:

z = {"y1":1,"x2":2,"x1":1,"y2":2}  
Run Code Online (Sandbox Code Playgroud)

Kob*_*i K 6

如果你想要整个2个dicts:

x = {"x1":1,"x2":2,"x3":3}
y = {"y1":1,"y2":2,"y3":3}


z = dict(x.items() + y.items())
print z
Run Code Online (Sandbox Code Playgroud)

输出:

{'y2': 2, 'y1': 1, 'x2': 2, 'x3': 3, 'y3': 3, 'x1': 1}
Run Code Online (Sandbox Code Playgroud)

如果你想要部分字典:

x = {"x1":1,"x2":2,"x3":3}
y = {"y1":1,"y2":2,"y3":3}

keysList = ["x2", "x1", "y1", "y2"]
z = {}

for key, value in dict(x.items() + y.items()).iteritems():
    if key in keysList:
        z.update({key: value})

print z
Run Code Online (Sandbox Code Playgroud)

产量

{'y1': 1, 'x2': 2, 'x1': 1, 'y2': 2}
Run Code Online (Sandbox Code Playgroud)


jon*_*rpe 5

然后,您可以使用copyfor 从以下项添加键和值:xupdatey

z = x.copy()
z.update(y)
Run Code Online (Sandbox Code Playgroud)