Hợp nhất nhiều từ điển python

30 Tháng Mười Một, 2018

Hợp nhất nhiều từ điển python

Bạn có thể ghép 2 từ điển trong Python 1 cách dễ dàng chỉ với 1 dòng lệnh duy nhất

# How to merge two dictionaries in Python

>>> x = {'a': 1, 'b': 2}
>>> y = {'b': 3, 'c': 4}

# Python 3.5+
>>> z = {**x, **y}
>>> z
{'c': 4, 'a': 1, 'b': 3}

# In Python 2 you can use
>>> z = dict(x, **y)
>>> z
{'a': 1, 'c': 4, 'b': 3}

Trong trường hợp trùng lặp khóa, khóa đó sẽ được thay thế theo thứ tự từ trái qua phải

Tham khảo. trăn thật

Trong Python, từ điển là một tập hợp bạn sử dụng để lưu trữ dữ liệu theo cặp

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
1. Nó được sắp xếp và có thể thay đổi, và nó không thể lưu trữ dữ liệu trùng lặp

Chúng tôi viết một từ điển sử dụng dấu ngoặc nhọn như thế này

my_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

Đôi khi, chúng ta cần hợp nhất hai hoặc nhiều từ điển để tạo ra một từ điển lớn hơn. Ví dụ

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

Trong

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
2, chúng tôi có các cặp khóa-giá trị của cả
dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
3 và
dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
0. Đây là những gì chúng tôi muốn đạt được theo chương trình

Có nhiều cách khác nhau để chúng ta có thể làm điều này trong Python

  1. Sử dụng vòng lặp for
  2. Sử dụng phương pháp
    dict_one = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"]
    }
    
    dict_two = {
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    merged_dict = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"],
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    1
  3. Sử dụng toán tử
    dict_one = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"]
    }
    
    dict_two = {
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    merged_dict = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"],
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    2
  4. Sử dụng toán tử
    dict_one = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"]
    }
    
    dict_two = {
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    merged_dict = {
        "id": 1,
        "name": "Ashutosh",
        "books": ["Python", "DSA"],
        "college": "NSEC",
        "city": "Kolkata",
        "country": "India"
    }
    
    3 (Union) (cho Python 3. 9 trở lên)

Hãy lần lượt khám phá từng cách

Cách hợp nhất từ ​​điển trong Python bằng vòng lặp For

Chúng tôi có thể hợp nhất hai hoặc nhiều từ điển bằng cách sử dụng vòng lặp như thế này

>>> dict_one = {
..     "id": 1,
..     "name": "Ashutosh",
.. }
>>> dict_two = {
..     "books": ["Python", "DSA"],
..     "college": "NSEC",
.. }
>>> dict_three = {
..     "city": "Kolkata",
..     "country": "India"
.. }
>>> for key,value in dict_two.items():
..     merged_dict[key] = value
.. 
>>> merged_dict
{'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC'}
>>> for key,value in dict_three.items():
..     merged_dict[key] = value
.. 
>>> merged_dict
{'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}

Nhưng vấn đề với phương pháp này là chúng ta cần chạy rất nhiều vòng lặp để hợp nhất các từ điển

Vì vậy, một lựa chọn khác là gì?

Cách hợp nhất từ ​​điển trong Python bằng phương pháp dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 1

Nếu bạn khám phá lớp

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
5, có rất nhiều phương thức bên trong nó. Một phương pháp như vậy là phương pháp
dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
6 mà bạn có thể sử dụng để hợp nhất từ ​​điển này sang từ điển khác

my_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}
1

Nhưng vấn đề khi chúng ta sử dụng phương pháp

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
6 là nó sửa đổi một trong các từ điển. Nếu chúng tôi muốn tạo từ điển thứ ba mà không sửa đổi bất kỳ từ điển nào khác, chúng tôi không thể sử dụng phương pháp này

Ngoài ra, bạn chỉ có thể sử dụng phương pháp này để hợp nhất hai từ điển cùng một lúc. Nếu bạn muốn hợp nhất ba từ điển, trước tiên bạn cần hợp nhất hai từ điển đầu tiên, sau đó hợp nhất từ ​​điển thứ ba với từ điển đã sửa đổi

my_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}
3

Hãy khám phá một số tùy chọn khác

Cách hợp nhất từ ​​điển trong Python bằng toán tử dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 2

Bạn có thể sử dụng phương pháp dấu hoa thị kép (**) để giải nén hoặc mở rộng từ điển như thế này

my_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}
5

Sử dụng toán tử

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
2 để hợp nhất các từ điển không ảnh hưởng đến bất kỳ từ điển nào

Cách hợp nhất từ ​​điển trong Python bằng toán tử dict_one = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"] } dict_two = { "college": "NSEC", "city": "Kolkata", "country": "India" } merged_dict = { "id": 1, "name": "Ashutosh", "books": ["Python", "DSA"], "college": "NSEC", "city": "Kolkata", "country": "India" } 3

Bắt đầu với Python 3. 9, chúng ta có thể sử dụng toán tử Union (

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
3 ) để hợp nhất hai hoặc nhiều từ điển

my_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}
9

Đây là phương pháp thuận tiện nhất hiện có để hợp nhất từ ​​điển trong Python

Sự kết luận

Chúng tôi đã khám phá một số phương pháp khác nhau để hợp nhất từ ​​điển. Nếu bạn có Python 3. 9 trở lên, bạn nên sử dụng toán tử

dict_one = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"]
}

dict_two = {
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}

merged_dict = {
    "id": 1,
    "name": "Ashutosh",
    "books": ["Python", "DSA"],
    "college": "NSEC",
    "city": "Kolkata",
    "country": "India"
}
3. Nhưng nếu bạn sử dụng các phiên bản Python cũ hơn, bạn vẫn có thể sử dụng các phương pháp khác đã thảo luận ở trên

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO


Hợp nhất nhiều từ điển python
Ashutosh Krishna

Nhà phát triển ứng dụng tại Thoughtworks Ấn Độ


Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu