업데이트를 사용하는 것처럼 보일 것 같습니다. 나는 그것을 올바르게 사용하고 있다고 생각합니다. 그래서 타입이나 다른 것을 다루는 에러가되어야합니다.세트를 업데이트하는 방법은 무엇입니까?
어쨌든, 여기에 앉아있다 :
나는 코 세라 과정에 대한 과정을하고 있어요 (! 말할 필요도없이, 최소화 또는 폐색 코드를 가장 도움이 응답)와 마지막 문제에 붙어 있어요. 작업은 쿼리의 모든 단어를 포함하는 모든 문서를 포함하는 집합을 반환하는 것입니다. 이 함수는 단어를 키로 포함하는 사전 인 inverseIndex와 그 단어를 값으로 포함하는 문서를 사용합니다. 예 : {'a':[0,1],'be':[0,1,4].....}
이 방법을 구현하려고 시도한 방식은 매우 간단합니다. sets에는 문서 ID 목록이 포함되어 있고 .intersections (집합)을 호출하여 집합을 병합하여 쿼리의 모든 단어를 포함하는 문서의 문서 ID 만 포함하는 집합으로 만듭니다.
def andSearch(inverseIndex, query):
sets = set()
s = set()
for word in query:
s.update(inverseIndex[word])
print(inverseIndex[word])
print s
s.intersection(*sets)
return s
불행히도 인덱스 3 만 반환해야하는 경우 inverseIndex에있는 모든 문서를 반환합니다.
터미널 출력 :
[0, 1, 2, 3, 4]
[0, 1, 2, 3]
[0, 1, 2, 3, 4]
[0, 1, 2, 3]
[0, 1, 3, 4]
[2, 3, 4]
set([0, 1, 2, 3, 4])
문제점은 무엇입니까?
감사합니다.
sets = []
s = set()
for word in query:
sets.append(inverseIndex[word])
print sets
s.intersection(*sets)
return s
출력 :
[[0, 1, 2, 3, 4], [0, 1, 2, 3], [0, 1, 2, 3, 4], [0, 1, 2, 3], [0, 1, 3, 4], [2, 3, 4]]
set([])
logout
'sets'이 비어있는 것처럼 보일 때마다 매번 작은 세트를 추가해야합니다. – seth