Hợp nhất hai từ điển có cùng khóa Python

Bài viết này giải thích cách thêm một mục mới vào từ điển

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
7 hoặc cập nhật giá trị của một mục hiện có trong Python. Cũng có thể hợp nhất nhiều từ điển

  • Thêm/cập nhật một mục vào/trong từ điển bằng cách chỉ định một khóa
  • Hợp nhất nhiều từ điển.
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print[d]
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print[d]
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    8,
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print[d]
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print[d]
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    9,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update[d2]
    print[d1]
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    0,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update[d2]
    print[d1]
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    1,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update[d2]
    print[d1]
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    2
  • Thêm/cập nhật nhiều mục vào/trong từ điển.
    d = {'k1': 1, 'k2': 2}
    
    d['k3'] = 3
    print[d]
    # {'k1': 1, 'k2': 2, 'k3': 3}
    
    d['k1'] = 100
    print[d]
    # {'k1': 100, 'k2': 2, 'k3': 3}
    
    8,
    d1 = {'k1': 1, 'k2': 2}
    d2 = {'k1': 100, 'k3': 3, 'k4': 4}
    
    d1.update[d2]
    print[d1]
    # {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
    
    2

Xem các bài viết sau về cách xóa mục khỏi từ điển, kiểm tra sự tồn tại của khóa và thay đổi khóa

  • Xóa một mục khỏi từ điển trong Python [xóa, pop, popitem, del]
  • Kiểm tra xem khóa/giá trị có tồn tại trong từ điển bằng Python không
  • Thay đổi khóa từ điển trong Python

Liên kết được tài trợ

Thêm/cập nhật một mục vào/trong từ điển bằng cách chỉ định một khóa

Bạn có thể thêm một mục vào từ điển hoặc cập nhật giá trị của một mục hiện có như sau

________số 8

Nếu một khóa không tồn tại được chỉ định, một mục mới sẽ được thêm vào và nếu một khóa hiện có được chỉ định, giá trị của mục hiện có sẽ được cập nhật [ghi đè]

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}

nguồn.

Nếu bạn không muốn cập nhật giá trị cho khóa hiện có, hãy sử dụng phương thức

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
5. Xem bài viết sau

  • Chỉ thêm một mục khi khóa không tồn tại trong dict trong Python [setdefault[]]

Hợp nhất nhiều từ điển.
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8,
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1,
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
2

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8

Bằng cách chỉ định một

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
7 khác làm đối số của phương thức
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8, tất cả các mục của nó được thêm vào

Nếu khóa trùng lặp với khóa hiện có, nó sẽ bị ghi đè bằng giá trị của

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
7 được chỉ định trong đối số

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}

nguồn.

Sẽ xảy ra lỗi nếu có nhiều hơn một từ điển được chỉ định làm đối số của

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
0

nguồn.

Như được mô tả sau,

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8 có thể thêm các mục mới với đối số từ khóa [
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
05], vì vậy bạn có thể giải nén và chuyển từng mục bằng
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
06

  • Giải nén và chuyển danh sách, tuple, dict sang đối số hàm trong Python

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
4

nguồn.

Trong trường hợp này, có thể trùng lặp các khóa của từ điển gọi phương thức và các khóa của từ điển được chỉ định trong đối số như trong ví dụ trên, nhưng sẽ xảy ra lỗi nếu các khóa của nhiều từ điển được chỉ định trong đối số

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
5

nguồn.

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
9 [Trăn 3. 5 trở lên],
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
0

Với

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8, từ điển gốc được cập nhật

Nếu bạn muốn tạo một từ điển mới bằng cách hợp nhất nhiều từ điển, hãy sử dụng

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
40 [từ Python 3. 5] hoặc
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
41

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1

nguồn.

Trong trường hợp của

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
41, sẽ xảy ra lỗi nếu các khóa của nhiều từ điển được chỉ định làm đối số bị trùng lặp

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
3

nguồn.

Xem các bài viết sau để biết chi tiết về cách tạo từ điển

  • Tạo một từ điển trong Python [{}, dict[], dict combs]

Trong Trăn 3. 9 trở lên, bạn cũng có thể tạo một từ điển mới bằng cách sử dụng toán tử

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1 được mô tả tiếp theo

Toán tử
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1, toán tử
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
2 [Python 3. 9 trở lên]

Kể từ Python 3. 9, có thể hợp nhất hai từ điển với toán tử

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1. Nếu chúng có cùng khóa, nó sẽ bị ghi đè bởi giá trị bên phải

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
8

nguồn.

Bạn có thể kết hợp nhiều từ điển

d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
9

nguồn.

Giống như

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
47 cho
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
48,
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
2 cho
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
1 cũng được cung cấp. Như với
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8, đối tượng bên trái được cập nhật

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
0

nguồn.

Liên kết được tài trợ

Thêm/cập nhật nhiều mục vào/trong từ điển.
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8,
d1 = {'k1': 1, 'k2': 2}
d2 = {'k1': 100, 'k3': 3, 'k4': 4}

d1.update[d2]
print[d1]
# {'k1': 100, 'k2': 2, 'k3': 3, 'k4': 4}
2

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8

Nếu đối số từ khóa

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
05 được chỉ định cho phương pháp
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8, thì mục có khóa và giá trị của nó sẽ được thêm vào. Nếu khóa trùng lặp với khóa hiện có, nó sẽ bị ghi đè bằng giá trị được chỉ định làm đối số

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
1

nguồn.

Cũng có thể chỉ định danh sách

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
57 làm đối số cho phương thức
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
8. Nếu khóa trùng lặp với khóa hiện có, nó sẽ bị ghi đè bằng giá trị được chỉ định làm đối số

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
2

nguồn.

Bạn có thể sử dụng

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
59 để thêm các mục từ danh sách khóa và danh sách giá trị

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
3

nguồn.

Xem bài viết sau về

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
59

  • zip[] bằng Python. Lấy các phần tử từ nhiều danh sách

Đối với các đối số từ khóa, sẽ xảy ra lỗi nếu cùng một khóa được chỉ định. Trong trường hợp danh sách

d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
57 và
d = {'k1': 1, 'k2': 2}

d['k3'] = 3
print[d]
# {'k1': 1, 'k2': 2, 'k3': 3}

d['k1'] = 100
print[d]
# {'k1': 100, 'k2': 2, 'k3': 3}
59, khóa trùng lặp được chấp nhận. Nó được ghi đè bởi giá trị sau

Làm cách nào để kết hợp hai từ điển trong python với cùng một khóa?

Cách đơn giản nhất để hợp nhất hai từ điển trong python là sử dụng toán tử giải nén[**] . Bằng cách áp dụng toán tử "**" cho từ điển, nó mở rộng nội dung của nó là tập hợp các cặp khóa-giá trị.

Làm cách nào để hợp nhất danh sách từ điển có cùng khóa trong python?

Để hợp nhất nhiều từ điển, cách Pythonic nhất là sử dụng khả năng hiểu từ điển {k. v cho x theo l cho k,v theo x. items[]} để lần đầu tiên lặp lại tất cả các từ điển trong danh sách l và sau đó lặp lại tất cả các cặp [khóa, giá trị] trong mỗi từ điển

Chúng ta có thể hợp nhất hai từ điển trong python không?

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 [. =]

Hai từ điển có thể có cùng khóa không?

Không, mỗi khóa trong từ điển phải là duy nhất. Bạn không thể có hai khóa có cùng giá trị . Cố gắng sử dụng lại cùng một khóa sẽ chỉ ghi đè lên giá trị được lưu trữ trước đó. Nếu một khóa cần lưu trữ nhiều giá trị thì giá trị được liên kết với khóa phải là một danh sách hoặc một từ điển khác.

Chủ Đề