@SvenMarnach, Oto moje wyjście tego samego polecenia, które napisałeś powyżej na terminalu py 3.5. Traceback (ostatnie połączenie): Plik „<ipython-input-313-7bb3559567ff>”, wiersz 1, w <module> dict (my_list) TypeError: Obiekt „Dictionary” nie jest wywoływany
@chandresh Nie ma to nic wspólnego z Pythonem 3 - dzieje się tak dlatego, że masz zmienną o nazwie dict, która przesłania element wbudowany Pythona o tej samej nazwie. Nigdy nie powinieneś tego robić.
@SvenMarnach Oh. Dzięki. Zadziałało. Właściwie to dostałem kod z sieci i próbowałem to uruchomić. Wygląda na to, że autor użył dictnazwy zmiennej, z której otrzymałem błąd. Dzięki jeszcze raz.
Wygląda na to, że wszyscy tutaj zakładają, że lista krotek ma mapowanie jeden do jednego między kluczem a wartościami (np. Nie ma zduplikowanych kluczy dla słownika). Ponieważ jest to pierwsze pytanie, które pojawia się podczas wyszukiwania tego tematu, zamieszczam odpowiedź na bardziej ogólny przypadek, w którym mamy do czynienia z duplikatami:
mylist =[(a,1),(a,2),(b,3)]
result ={}for i in mylist:
result.setdefault(i[0],[]).append(i[1])print(result)>>> result ={a:[1,2], b:[3]}
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.