mam słownika PythonGrupowanie Python klucze słownika postaci listy i utworzyć nowy słownik z tej listy jako wartość
d = {1: 6, 2: 1, 3: 1, 4: 9, 5: 9, 6: 1}
Ponieważ wartości w powyższej słowniku nie są unikatowe. Chcę grupować wszystkie klucze unikalnych wartości jako listy i utworzyć nowy słownik następująco:
v = {6:[1], 1:[2, 3, 6], 9: [4, 5]}
Note klucze nowego słownika v powinny być posortowane. Trudno mi sobie wyobrazić i wdrożyć tworzenie tego słownika. Proszę, zasugeruj mi łatwy i skuteczny sposób na zrobienie tego.
Jeśli pójdziesz z defaultdict, ale nie chcą „default” zachowanie aby kontynuować po zainicjowaniu dyktowania, możesz ustawić atrybut 'default_factory' na' None'. Wtedy twój 'defaultdict' będzie zachowywał się jak zwykły dyktator prawie na każdy sposób. – mgilson
Na marginesie, jestem wielkim fanem sposobu sortowania przedmiotów, a nie wartości, które byłyby najbardziej ludzkim (lub przynajmniej moim) pierwszym instynktem. +1. – mgilson
Co to jest "lista" w drugiej linii? Wygląda na to, że zadziała po prostu 'v = defaultdict()' – clwen