Python hợp nhất danh sách từ điển có cùng khóa

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. dict_add_update. py

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

  • Các loại tích hợp - dict. cập nhật[] — Python 3. 9. 7 tài liệu

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. dict_add_update. py

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. dict_add_update. py

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. dict_add_update. py

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. dict_add_update. py

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. dict_add_update. py

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. dict_add_update. py

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. dict_merge. py

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. dict_merge. py

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. dict_merge. py

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. dict_add_update. py

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. dict_add_update. py

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. dict_add_update. py

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 để hợp nhất 4 từ điển trong Python?

Cách hợp nhất từ ​​điển trong Python .
Sử dụng vòng lặp for
Sử dụng chính tả. cập nhật[] phương pháp
Sử dụng toán tử **
Sử dụng. Toán tử [Union] [dành cho Python 3. 9 trở lên]

Từ điển có thể có các khóa giống nhau không?

Đầu tiên, một khóa nhất định chỉ có thể xuất hiện trong từ điển một lần. Không cho phép sao chép khóa . Từ điển ánh xạ mỗi khóa thành một giá trị tương ứng, vì vậy sẽ không hợp lý khi ánh xạ một khóa cụ thể nhiều lần.

Từ điển có thể có hai khóa giống nhau với các giá trị khác nhau không?

Bạn không thể . Tôi đã thiết lập một từ điển giống hệt nhau và khi cố gắng in khóa 'a' , tôi đã nhận được giá trị phụ, tôi. e. , 2. Các phím có nghĩa là duy nhất.

Bạn có thể có nhiều khóa giống nhau trong từ điển Python 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ủ Đề