저는 파이썬에 초보자입니다. 여기서 멋진 토론을 위해 모두에게 감사해야합니다. 그러나 나는 어떤 조언도 보지 못했습니다. (또는 내가 이해하기에는 너무 복잡했다.)매우 큰 튜플 목록의 부분 일치 목록
두 개의 목록 (튜플?)에 각각 약 백만 항목이 있습니다. 둘 다 첫 번째 항목 (단어)에 정렬되며 동일한 형식을 갖습니다. 각 목록에서 단어/페이지 조합은 고유합니다.
List1= [('word1', 'page1'), ('word1', 'page2'), ('word3', 'page1'),...]
List2 = [('word1', 'page4'), ('word2', 'page2'), ('word3', 'page1'),...]
list2에서도 발생하는 '단어'를 list1에서 찾아야합니다. 이 예제의 출력은 내가 지금 세트,리스트, 튜플, dicts와 완전히 혼란 스러워요 너무 많이 찾아 봤는데
[('word1', 'page1'), ('word1', 'page2'), ('word1', 'page4'),('word3','page1')]
해야한다 ... 나는 루프를 할 아마 수 있지만 보인다 여기 어딘가에서 더 나은 선택입니다.
첫 번째 생각은 교차 설정을 수행하는 것입니다. 그러나 큰 목록과 결과 세트가 많은 메모리를 소비 할까봐 걱정됩니다. –
다른 데이터 구조를 사용하면 사물을 단순화 할 수 있습니다. – dm03514
@JamesMills이 목록을 어떻게 세트로 만들 수 있습니까? 내가하려고 할 때 TypeError "unhashable 형식"오류가 발생합니다. – maryfsan