Nó sẽ là tiện lợi nếu một defaultdict
có thể được khởi tạo dọc theo dòng saudefaultdict một bước khởi
d = defaultdict(list, (('a', 1), ('b', 2), ('c', 3), ('d', 4), ('a', 2),
('b', 3)))
để sản xuất
defaultdict(<type 'list'>, {'a': [1, 2], 'c': [3], 'b': [2, 3], 'd': [4]})
Thay vào đó, tôi nhận được
defaultdict(<type 'list'>, {'a': 2, 'c': 3, 'b': 3, 'd': 4})
Để có được những gì tôi cần, cuối cùng tôi phải làm điều này:
d = defaultdict(list)
for x, y in (('a', 1), ('b', 2), ('c', 3), ('d', 4), ('a', 2), ('b', 3)):
d[x].append(y)
Đây là bước IMO nhiều hơn cần thiết, tôi có thiếu gì đó ở đây không?
Làm cách nào để sử dụng được thêm vào danh sách? Còn những loại khác thì sao? –
@JonClements, điểm tốt. Tuy nhiên người ta sẽ nghĩ rằng 'danh sách' là một trường hợp sử dụng phổ biến, đủ để một phương pháp tiện lợi (có lẽ là một phương pháp lớp) được biện minh? – iruvar
Phương pháp tiện lợi này không phải là chính xác những gì bạn vừa viết ra ở cuối bài viết của bạn? Tại sao không quấn ba dòng đó vào một hàm và gọi nó là một ngày? –