Home >Backend Development >Python Tutorial >How to copy a dictionary in Python
Dictionary in python is a collection data type that stores information in the form of keys which have their corresponding values. It is unordered in nature and the stored data can be manipulated i.e.; it is changeable. We use dictionary to perform various operations, its application extends in the field of data base management, machine learning and web framework development.
In this article we will perform a basic dictionary-based operation explaining the different ways in which we can copy a dictionary element from an already existing dictionary. Before we dive deep into the topic, let’s quickly go through the overview of this article.
A dictionary in python is a collection data type used to store data. Values are assigned to different keys. Keys are immutable i.e., for every they cannot be changed. Each key can contain different values but a single value cannot be associated with more than one key. For python dictionaries are objects with the data type “dict”
A dictionary can be created with the help of curly braces. The syntax for this is −
dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
在这里,“Name”是一个具有三个值的键,类似地,“Age”也是一个具有三个值的键。这些值可以是任何数据类型。另一方面,键也可以是不同的数据类型,但条件是它应该是不可变的。例如:字符串、元组、整数。
Now that we know the process of dictionary creation and various properties associated with it, we will understand the operation of copying a dictionary.
When we say we will copy a dictionary it means we will copy the key value pairs from a dictionary source to our local dictionary. There are multiple methods that can be used to complete this operation −
This method creates a replica of the original dictionary. One noticeable detail about this method is that when we make changes to the copied dictionary, it does not reflect in the original dictionary but when the original dictionary is altered, we would observe changes in the copied version as well. Let’s see its implementation.
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]}
As we can see, no changes are reflected in the source dictionary because of the shallow copy creation. The copied dictionary is referring to the source dictionary.
这种方法使用字典推导式来迭代并将源字典中的元素添加到新字典中。
We will traverse through the source dictionary and use items() method to add the key value pairs in the new dictionary. Let’s see its implementation −
以下是一个示例。在这里,
我们创建了一个源字典。
我们使用字典推导式遍历源字典,并借助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()方法复制字典的内容。在这里,
We changed the value- “ROHIT” of the key- “Name” to “MAHI”.
After copying, we printed both the dictionaries.
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]}
在本文中,我们讨论了从源中复制字典涉及的各种方法。我们了解了浅拷贝的概念,并观察了键值对的行为。
The above is the detailed content of How to copy a dictionary in Python. For more information, please follow other related articles on the PHP Chinese website!