How to copy a dictionary in Python

王林
Release: 2023-09-11 12:21:03
forward
1445 people have browsed it

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.

What is a dictionary?

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]} 
Copy after login

在这里,“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.

What does copying a dictionary mean?

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 −

使用copy()方法

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.

Example

的中文翻译为:

示例

dict1 = {"Name": ["ROHIT", "AJAY", "RAGHAV"],"Age": [18, 22, 25]}
dict2 = dict1.copy()
print (dict2)
Copy after login

Output

{'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]} 
Copy after login

现在让我们看看在操作复制的字典时会反映出哪些变化 -

示例

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)
Copy after login

Output

The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['ARJUN', 'VIJAY', 'RAVI'], 'Age': [18, 22, 25]}
Copy after login

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.

Using dictionary comprehension

这种方法使用字典推导式来迭代并将源字典中的元素添加到新字典中。

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 −

Example

的中文翻译为:

示例

以下是一个示例。在这里,

  • 我们创建了一个源字典。

  • 我们使用字典推导式遍历源字典,并借助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)
Copy after login

Output

The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [33, 23, 21]}
Copy after login

使用dict()方法

在这个方法中,我们将使用dict()方法创建一个新的字典。在参数中,我们将传递源字典。传递的字典将自动复制。让我们看看它的实现。

Example

的中文翻译为:

示例

以下示例使用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)
Copy after login

Output

The source dictionary is {'Name': ['ROHIT', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
The copied dictionary is {'Name': ['MAHI', 'AJAY', 'RAGHAV'], 'Age': [18, 22, 25]}
Copy after login

结论

在本文中,我们讨论了从源中复制字典涉及的各种方法。我们了解了浅拷贝的概念,并观察了键值对的行为。

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!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!