Kết hợp danh sách và từ điển trong Python

Trong Python, từ điển là một bộ sưu tập bạn sử dụng để lưu trữ dữ liệu theo cặp {key:value}. 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 merged_dict, chúng tôi có các cặp khóa-giá trị của cả dict_one

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) (dành 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

>>> dict_one = {
..     "id": 1,
..     "name": "Ashutosh",
..     "books": ["Python", "DSA"]
.. }
>>> dict_two = {
..     "college": "NSEC",
..     "city": "Kolkata",
..     "country": "India"
.. }
>>> dict_one.update(dict_two)
>>> dict_one
{'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}

Nhưng vấn đề khi chúng ta sử dụng phương thứ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"
}
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

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

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 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

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

>>> dict_one = {
..     "id": 1,
..     "name": "Ashutosh",
.. }
>>> dict_two = {
..     "books": ["Python", "DSA"]
..     "college": "NSEC",
.. }
>>> dict_three = {
..     "city": "Kolkata",
..     "country": "India"
.. }
>>> merged_dict = {**dict_one, **dict_two, **dict_three} 
>>> merged_dict
{'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}

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

>>> dict_one = {
..     "id": 1,
..     "name": "Ashutosh",
.. }
>>> dict_two = {
..     "books": ["Python", "DSA"],
..     "college": "NSEC",
.. }
>>> dict_three = {
..     "city": "Kolkata",
..     "country": "India"
.. }
>>> merged_dict = dict_one | dict_two | dict_three
>>> merged_dict
{'id': 1, 'name': 'Ashutosh', 'books': ['Python', 'DSA'], 'college': 'NSEC', 'city': 'Kolkata', 'country': 'India'}

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

Phần 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


Kết hợp danh sách và từ điển trong 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

Làm cách nào để hợp nhất hai danh sách vào từ điển trong Python?

Đối với điều này, chỉ cần khai báo một từ điển, sau đó chạy vòng lặp lồng nhau cho cả hai danh sách và gán các cặp khóa và giá trị từ các giá trị danh sách cho từ điển.

Làm cách nào để nối danh sách từ điển thành một danh sách duy nhất trong Python?

Trăn 3. 9 đã giới thiệu toán tử hợp nhất (. ) trong lớp dict . Sử dụng toán tử hợp nhất, chúng ta có thể kết hợp các từ điển trong một dòng mã. Chúng tôi cũng có thể hợp nhất các từ điển tại chỗ bằng cách sử dụng toán tử cập nhật (. =).

Bạn có thể thêm từ điển vào danh sách bằng Python không?

Nối từ điển vào danh sách có cùng khóa và khác giá trị. Sử dụng phương thức append() . Sử dụng phương thức copy() để liệt kê bằng phương thức append(). Sử dụng phương thức deepcopy() để liệt kê bằng phương thức append().

Tôi có thể triển khai từ điển lồng nhau với danh sách không?

Cho một danh sách và từ điển, hãy ánh xạ từng thành phần của danh sách với từng mục của từ điển, tạo từ điển lồng nhau dưới dạng giá trị . Giải trình. Ghép nối khóa-giá trị theo chỉ mục từ danh sách [8] đến dict {'Gfg'. 4}, v.v.