美文网首页爬虫遇逆向随笔-生活工作点滴
Python2 Python3字典合并的四种方法,有一种见都没见

Python2 Python3字典合并的四种方法,有一种见都没见

作者: 盖码范 | 来源:发表于2019-07-10 11:00 被阅读4次

方法一

适合于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}

方法二

适合于python2python3版本

x = {'a':1, 'b':2}
y = {'c':3, 'd':4}
x.update(y)  # 这里注意我是直接改变的x变量,具体根据程序逻辑来定,可以用其它变量接受。

------------------------------------------------------
z
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

方法三

适合于python2python3版本

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}遇到重复数据,前面的值会被后面的值替代。

相关文章

网友评论

    本文标题:Python2 Python3字典合并的四种方法,有一种见都没见

    本文链接:https://www.haomeiwen.com/subject/zgjckctx.html