Byłoby wygodne jeśli defaultdict
można zainicjować wzdłuż następujących liniidefaultdict jednoetapowa inicjalizacji
d = defaultdict(list, (('a', 1), ('b', 2), ('c', 3), ('d', 4), ('a', 2),
('b', 3)))
produkować
defaultdict(<type 'list'>, {'a': [1, 2], 'c': [3], 'b': [2, 3], 'd': [4]})
Zamiast dostać
defaultdict(<type 'list'>, {'a': 2, 'c': 3, 'b': 3, 'd': 4})
Aby dostań to, czego potrzebuję, kończę, że muszę to zrobić:
To jest IMO o jeden krok więcej niż powinno być, czy tu czegoś brakuje?
Jak korzystać z dołączania na liście? A co z innymi typami? –
@Jonclements, dobry punkt. Jednak można by pomyśleć, że "lista" jest przypadkiem użycia dość powszechnym, że metoda wygody (być może metoda klasy) jest uzasadniona? – iruvar
Czy ta metoda wygody nie byłaby dokładnie tym, co właśnie napisałeś na końcu postu? Dlaczego nie zawinąć tych trzech linii w funkcję i nazwać to dniem? –