Chciałbym móc stworzyć słownik Pythona z ciągami jako kluczami i zestawami ciągów znaków jako wartościami. Np .: { "crackers" : ["crunchy", "salty"] }
To musi być zestaw, a nie lista.Słownik w języku Python, który mapuje ciągi znaków do zestawu ciągów znaków?
Jednak kiedy próbuję następujący:
word_dict = dict()
word_dict["foo"] = set()
word_dict["foo"] = word_dict["foo"].add("baz")
word_dict["foo"] = word_dict["foo"].add("bang")
uzyskać:
Traceback (most recent call last):
File "process_input.py", line 56, in <module>
test()
File "process_input.py", line 51, in test
word_dict["foo"] = word_dict["foo"].add("bang")
AttributeError: 'NoneType' object has no attribute 'add'
Gdybym to zrobić:
word_dict = dict()
myset = set()
myset.add("bar")
word_dict["foo"] = myset
myset.add("bang")
word_dict["foo"] = myset
for key, value in word_dict:
print key,
print value
uzyskać:
Traceback (most recent call last):
File "process_input.py", line 61, in <module>
test()
File "process_input.py", line 58, in test
for key, value in word_dict:
ValueError: too many values to unpack
Jakieś wskazówki, jak zmusić Pythona do robienia tego, co chciałbym? Jestem pośrednią użytkownika Pythona (lub tak myślałem, aż wpadłem na ten problem.)
Dziękuję. Oczywiście, duh. –