Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách tạo Python dictionary với key trùng lặp


Python dictionary không cho phép key trùng lặp. Tuy nhiên, ta có thể dùng defaultdict để tìm cách giải quyết. Lớp này định nghĩa trong module collections.

Dùng list làm default factory cho đối tượng defaultdict:

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

Đây là list các tuple mỗi tuple 2 phần tử. Phần tử đầu bị lặp lại. List này chuyển thành defaultdict:

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

Chuyển defaultdict này thành dictionary object dùng hàm dict():

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