Computer >> Máy Tính >  >> Lập trình >> Python

Làm thế nào để tạo từ điển Python với các khóa trùng lặp?

Từ điển Python không cho phép lặp lại khóa. Tuy nhiên, chúng tôi có thể sử dụng defaultdict để tìm cách giải quyết. Lớp này được định nghĩa trong mô-đun tập hợp.

Sử dụng danh sách làm nhà máy mặc định cho đối tượng defaultdict

>>> from collections import defaultdict
>>> d=defaultdict(list)

Đây là danh sách các bộ giá trị, mỗi bộ có hai mục. Mục đầu tiên được tìm thấy để được sử dụng nhiều lần. Danh sách này được chuyển đổi trong sắc lệnh mặc định

>>> for k,v in l:
      d[k].append(v)

Chuyển đổi sắc lệnh mặc định này trong một đối tượng từ điển bằng cách sử dụng hàm dict ()

>>> dict(d)
{1: [111, 'aaa'], 2: [222, 'bbb'], 3: [333, 'ccc']}