안녕하세요, 저는 키와 값으로 사전을 대조하고 싶은 단어 목록을 가지고 있습니다. 실제로 목록의 단어 중 일부가 사전의 값에 나타나는지 알고 싶습니다. 이것은 아마도 파이썬에서 쉬운 작업이지만, 초보자이며, 분명히 이해하지 못하는 같은 오류가 계속 발생합니다. 여기 사전에있는 단어 목록을 확인하십시오.
합니다 (DICT 손에있다) 내 코드입니다 :words = ["give", "a", "pearl", "to", "the" "elephant"]
for k, v in dic.items():
for word in words:
if word in v:
print(v)
또는 대안 :
relevant = {d:reldic[d] for d in reldic if words in reldic[d]}
print(relevant)
내가 오류 :
TypeError: unhashable type: 'list'
무엇 누락?
미리 감사드립니다.
업데이트 :
좋아,이 질문을 더 잘 이해하는 데 도움이됩니다.
dic = collections.defaultdict(set)
for e in entries:
dic[e[1]].add(e[3])
그리고 마지막으로 내 사전 :
2000/9/1 abe D mes Español inan.|m.|m.
2000/9/1 abe D luna Español inan.|m.|m.
2000/9/1 abe D sol Español inan.|m.|m.
2000/9/2 gacuri D meter Español v.t.
2000/9/2 acuri D meter Español v.t.
2000/9/2 yacuri D meter Español v.t.
가 그럼 난 관련 블록의 컬렉션이 있습니다 :
reldic = {d:dic[d] for d in dic if len(dic[d]) > 1}
'reldic'이란 무엇입니까? – thefourtheye
아마도 목록을 dict 키로 사용하려고 시도하고 있습니다. 허용되지 않습니다. – wim
죄송합니다. "reldic"이 아니며 "dict"가 업데이트되었습니다. –