Python 复制字典的方法
python中的字典是一种集合数据类型,它以键的形式存储信息,并有其相应的值。它在本质上是无序的,并且存储的数据可以被操作,也就是说,它是可改变的。我们使用字典来执行各种操作,它的应用扩展到了数据库管理、机器学习和网络框架开发领域。
在这篇文章中,我们将执行一个基于字典的基本操作,解释我们可以从一个已经存在的字典中复制一个字典元素的不同方法。在我们深入探讨这个话题之前,让我们快速浏览一下这篇文章的概述。
什么是 dictionary
python 中的 dictionary 是一种用于存储数据的集合数据类型。值被分配给不同的键。键是不可变的,也就是说,对于每一个键都不能被改变。每个键可以包含不同的值,但一个值不能与多个键关联。对于 python 而言,字典是数据类型为 “dict” 的对象。
创建一个 dictionary
一个 dictionary 可以在大括号的帮助下被创建。它的语法是 –
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
这里, “姓名 “是一个有三个值的键,同样, “年龄 “也是一个有三个值的键。这些值可以是任何数据类型。另一方面,键也可以是不同的数据类型,但条件是它应该是不可变的。 例如:字符串、图元、整数。
现在我们知道了字典的创建过程和与之相关的各种属性,我们将了解复制字典的操作。
拷贝字典是什么意思?
当我们说要复制一个字典时,这意味着我们要从一个字典源复制键值对到我们的本地字典。有多种方法可以用来完成这个操作:
使用 copy() 方法
这个方法创建一个原始字典的副本。这个方法的一个值得注意的细节是,当我们对复制的 dictionary 进行修改时,它不会反映在原始 dictionary 中,但是当原始 dictionary 被改变时,我们会观察到复制的版本也有变化。让我们看看它的实现。
例子
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
dict2 = dict1.copy()
print (dict2)
输出
{'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
现在让我们看看,当我们操作复制的字典时,有什么变化被反映出来 —
例子
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
dict2 = dict1.copy()
dict2["Name"] = ["ARJUN", "VIJAY", "RAVI"]
print("The source dictionary is", dict1)
print("The copied dictionary is", dict2)
输出
The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['ARJUN', 'VIJAY', 'RAVI'], 'Age': [18, 22, 25]}
我们可以看到,由于浅层拷贝的创建,没有任何变化反映在源字典中。被复制的字典是指源字典。
使用字典的理解力
这个方法使用 dictionary comprehension 来遍历并将源 dictionary 中的元素添加到新 dictionary 中。
我们将遍历源字典,并使用 items() 方法在新字典中添加键值对。让我们看看它的实现
例子
下面是一个例子。这里。
- 我们创建了一个源 dictionary。
-
我们使用 dictionary comprehension 遍历源 dictionary 并在 items() 的帮助下添加键值对。
-
我们对复制的字典进行操作,并打印了两个版本。
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
dict2 = {keys: values for keys, values in dict1.items()}
print("The source dictionary is", dict1)
dict2["Age"] = [33, 23, 21]
print("The copied dictionary is", dict2)
输出
The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [33, 23, 21]}
使用 dict() 方法
在这个方法中,我们将在 dict() 方法的帮助下创建一个新的 dictionary。在参数中我们将传递源字典。传递的 dictionary 将被自动复制。让我们看看它的实现。
例子
下面的例子是用 dict() 方法复制一个 dictionary 的内容。这里。
- 我们把键 “Name “ 的值- “ROHIT “ 改为 “MAHI ” 。
-
拷贝之后,我们打印了两个字典。
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
dict2 = dict(dict1)
print("The source dictionary is", dict1)
dict2["Name"] = ["MAHI", "AJAY", "RAGHAV"]
print("The copied dictionary is", dict2)
输出
The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['MAHI', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
总结
在这篇文章中,我们讨论了从源头复制字典的各种方法。我们理解了浅层拷贝的概念并观察了键值对的行为。