Wiemy w Pythonie, zestaw może być zdefiniowany przez wypisując wszystkie jego elementy, takie jak ten:W języku Python, jak napisać zestaw zawierający zestaw?
a_set={1,"xyz"}
i książek Pythona wszyscy mówią elementy zestawu może być dowolny typ danych. Więc powinniśmy być w stanie wypisać zestaw zawierający zestaw. Starałem się napisać jak:
a_set={1,{"xyz"}}
Ale IDLE zgłosił błąd:
Traceback (most recent call last):
File "<pyshell#58>", line 1, in <module>
a_set={1,{"xyz"}}
TypeError: unhashable type: 'set'
myślę, że może to być spowodowane Python próbuje zrozumieć go jako słownik. Następnie, jak napisać zestaw zawierający zestaw w Pythonie?
możliwe duplikat [dlaczego nie Pythona ustawia hashable] (http://stackoverflow.com/questions/6310867/why-arent-python-sets-hashable) –
Chociaż nie odpowiada bezpośrednio na pytanie, [Dlaczego klucze słownikowe muszą być niezmienne?] (http://docs.python.org/3.3/faq/ design.html # why-must-dictionary-keys-be-immutable) w Pythonie FAQ jest tutaj odpowiednie. Wartości zestawu są w zasadzie takie same jak klucze słownika (oba są przechowywane w tabelach mieszania), więc nie można umieścić zestawu w zestawie z tego samego powodu, dla którego nie można użyć dyktatury jako klucza dyktującego. – abarnert