Python合并2个字典成1个新字典的9种方法

liftword7个月前 (12-18)技术文章84
d1 = {'name': 'revotu', 'age': 99}
d2 = {'age': 24, 'sex': 'male'}

输出:
{'name': 'revotu', 'age': 24, 'sex': 'male'}

# d = {}
# d.update(d1)             # 方法1,使用两次update方法向字典中添加元素
# d.update(d2)
# print(d)

# d = d1.copy()            # 方法2,先复制,后更新
# d.update(d2)
# print(d)

# d = dict(d1)               # 方法3,字典构造器
# d.update(d2)
# print(d)

# d = dict(d1, **d2)            # 方法4,关键字参数hack
# print(d)                      # 只有一行代码,看上去很酷,但是有一个问题,这种hack技巧只有在字典的键是字符串时才有效。

# d = {k: v for d in [d1, d2] for k, v in d.items()}   # 方法5,字典推导式,字典推导式方法满足要求,只是嵌套的字典推导式,不那么清晰,不易于理解。
# print(d)

# d = dict(list(d1.items()) + list(d2.items()))        # 方法6,元素拼接
# print(d)

# d = dict(chain(d1.items(), d2.items()))                # 方法7,chain items        from itertools import chain
# print(d)

# d = dict(ChainMap(d1, d2))                      # 方法8,itemscollections.ChainMap可以将多个字典或映射,在逻辑上将它们合并为一个单独的映射结构
# print(d)                                        # 这种方法也很pythonic,而且也是通用方法     from collections import ChainMap

d = {**d1, **d2}             # 方法9,字典拆分
print(d)                     # 在Python3.5+中,可以使用一种全新的字典合并方式,这行代码很pythonic

相关文章

一文掌握在Python列表中添加元素的多种方法

序列是Python中最基本的数据结构。Python有6种序列类型,但最常见的是列表和元组。列表是最常用的Python数据类型,是用方括号括起来的可变元素序列。列表可以包含任何数据类型,例如整数、浮点数...

Python 动手练:字典 python的字典怎么用

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值对用冒号 : 分隔( key:value ),每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中。键一般是唯一的,如果重复最后...

Python两个列表合并字典:实用技巧解析

在Python中,列表和字典是两种常用的数据类型。列表是一组可变且有序的数据类型,它可以是任意类型的数据;字典是一组可变且无序的数据类型,字典的键必须唯一(如字符串、数字、元组),字典的值可以为任意类...

简单学Python——字典的操作1(增加、更改和删除字典元素)

前面我们学习了字典创建和访问(见:简单学Python——元组和字典),今天我们接着学习增加字典元素、更改字典内容和删除字典中的某一元素。1、增加字典元素。现在我们有这样一个字典,记录着一名学生的信息d...

Python3字典的魅力:创建与操作(13)

字典是Python中一种非常重要、实用的数据结构,它以键-值对的形式存储数据,让我们能够高效地查找、修改和删除元素。在我学习Python3的过程中,我深深感受到了字典的魅力。首先,创建一个空字典非常简...

掌握Python字典的12个例子 python字典用法大全

数据结构是任何编程语言的关键部分。为了创建健壮且性能良好的产品,必须非常了解数据结构。在这篇文章中,我们将研究Python编程语言的一个重要数据结构,即字典。字典是键值对的无序集合。每个项都有一个键和...