方法一
适合于python2版本
x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
z = dict(x.items()+y.items())
------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法二
适合于python2,python3版本
x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
x.update(y) # 这里注意我是直接改变的x变量,具体根据程序逻辑来定,可以用其它变量接受。
------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法三
适合于python2,python3版本
x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
z = {}
for k,v in x.items():
z[k] = v
for k,v in y.items():
z[k] = v
------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法四
x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
z = (x, **y)
------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
方法五
适用于Python3.5 以上版本(含3.5)
x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
z = {**x, **y}
------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
总结
我们来看如果有两个数据中有重复key,方法四,方法五的结果是怎么样的 ,我们来看下面例子:
a = {"A":1,"B":2}
b = {"A":3,"D":4}
------------------------------------------------------
{**a, **b}
Out[11]: {'A': 3, 'B': 2, 'D': 4} # 这里取的是b中的A,所以b覆盖了a
dict(a,**b)
Out[12]: {'A': 3, 'B': 2, 'D': 4}
总结:dict(a,**b)
方法,跟{**a, **b}
遇到重复数据,前面的值会被后面的值替代。