반응형
문자열을 키로 사용하고 문자열 세트를 값으로 사용하여 Python 사전을 만들 수 있기를 바랍니다. 예 : { "crackers": [ "crunchy", "salty"]}
목록이 아닌 세트 여야합니다.
그러나 다음을 시도 할 때 :
word_dict = dict()
word_dict["foo"] = set()
word_dict["foo"] = word_dict["foo"].add("baz")
word_dict["foo"] = word_dict["foo"].add("bang")
나는 얻다:
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'
이렇게하면 :
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
나는 얻다:
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
내가 원하는 것을하도록 파이썬을 강요하는 방법에 대한 팁이 있습니까? 저는 중급 Python 사용자입니다 (또는이 문제가 발생할 때까지 생각했습니다.)
해결 방법
set.add ()
는 새로운 set
을 반환하지 않으며 호출 된 set
을 수정합니다. 다음과 같이 사용하십시오.
word_dict = dict()
word_dict["foo"] = set()
word_dict["foo"].add("baz")
word_dict["foo"].add("bang")
또한 for
루프를 사용하여 dict를 반복하는 경우 키를 반복하는 것입니다.
for key in word_dict:
print key, word_dict[key]
또는 word_dict.items ()
또는 word_dict.iteritems ()
를 반복 할 수 있습니다.
for key, value in word_dict.items():
print key, value
참조 페이지 https://stackoverflow.com/questions/2285874
반응형
'파이썬' 카테고리의 다른 글
파이썬 numpy / scipy의 제곱 차이 합계 (SSD) (0) | 2020.12.17 |
---|---|
파이썬 (python) [Errno 11001] getaddrinfo 실패 (0) | 2020.12.17 |
파이썬 Jinja2 템플릿에 HTML 파일을 어떻게 포함하나요? (0) | 2020.12.17 |
파이썬 Git Bash가 내 파이썬 파일을 실행하지 않습니까? (0) | 2020.12.16 |
파이썬 Python에서 브로드 캐스트 패킷 받기 (0) | 2020.12.16 |
댓글