【Python】字典的快速合并

两个或者多个字典的合并,有时候会用到多个字典合成一个字典.有简单的方法也有复杂的方法..推荐使用第二种.

一:使用for进行遍历添加:

A_dict={'1':'A','2':'B','3':'C'}
B_dict={'4':'D','5':'E','6':'F'}
C_dict = {}
for key,value in A_dict.items():
    C_dict[key]=value
for key,value in B_dict.items():
    C_dict[key]=value

print C_dict

输出结果:

{'1': 'A', '3': 'C', '2': 'B', '5': 'E', '4': 'D', '6': 'F'}

这样未免麻烦,两个字典也还好,多个字典就比较麻烦了,推荐使用第二种方法来实现字典的快速合并

二:使用Python提供的update():

C_dict = {}
A_dict={'1':'A','2':'B','3':'C'}
B_dict={'4':'D','5':'E','6':'F'}
C_dict.update(A_dict)
C_dict.update(B_dict)
print(C_dict)

输出结果:

{'1': 'A', '2': 'B', '3': 'C', '4': 'D', '5': 'E', '6': 'F'}

使用update的时候值得注意的地方:

1:update不能连续使用:

C_dict = {}
A_dict={'1':'A','2':'B','3':'C'}
B_dict={'4':'D','5':'E','6':'F'}
C_dict.update(A_dict).update(B_dict)
print(C_dict)

报错信息:

AttributeError: 'NoneType' object has no attribute 'update'

2:不能使用参数进行接收

只使用参数接收一次的时候:

C_dict = {}
A_dict={'1':'A','2':'B','3':'C'}
B_dict={'4':'D','5':'E','6':'F'}
C_dict = C_dict.update(A_dict)
# C_dict = C_dict.update(B_dict)    # 注释掉
print(C_dict)

输出信息:

None

多次使用参数接收的时候:

C_dict = {}
A_dict={'1':'A','2':'B','3':'C'}
B_dict={'4':'D','5':'E','6':'F'}
C_dict = C_dict.update(A_dict)
C_dict = C_dict.update(B_dict)
print(C_dict)

输出信息:

Traceback (most recent call last):
  File "E:/Pycharm/tcp/测试字典合并.py", line 15, in <module>
    C_dict = C_dict.update(B_dict)
AttributeError: 'NoneType' object has no attribute 'update'

所以不要使用参数进行接收.就和list的append一样.
推荐使用第二种,第一种很常见,但是代码量略多.

猜你喜欢

转载自blog.csdn.net/lvluobo/article/details/80945036
今日推荐