일부 웹 스크래핑을 수행하고 결과를 결합한 후 사전 목록이 남아 있습니다. 하나의 키 (제목)는 목록의 목록입니다.목록/Dict 데이터 조작 - 중복 삭제
thelist = [{"name":"a name", "titles":[["foo","bar", ... ],["foo","baz",["..."], ... ]]},
{"name":"another name", "titles":[["foo","bar", ... ],["foo","baz",["..."], ... ]]}, ... ]
목표는 각 사전의 타이틀 목록에서 하나 개 이상의 목록에 나타나는 제목을 제거하고 (중복되지) 제목의 단일 목록으로 타이틀리스트의 목록을 교체하는 것입니다.
지금 작성한 코드는 목록 목록의 모든 항목에 올바르게 액세스하지만 실제로 중복을 제거하는 데 어려움이 있습니다.
match = ""
for dicts in thelist:
for listoftitles in dicts['titles']:
for title in listoftitles:
title = match
for title in listoftitles:
if match == title:
print title
#del title
일치하는 항목이 제목의 값과 같지 않은 것으로 보입니다. 루프의 중첩을 변경하려고 시도했지만 지금까지 아무 소용이 없습니다. 나는 어딘가에서 길을 잃고 있고, 나는 그 밖에 무엇을 시도해야할지 모르겠다. 어떤 조언을 크게 주시면 감사하겠습니다.
각 하위 요소는 당신이 속는을 제거 할
OrderedDict
을 사용할 수 있습니다 보였다 순서를 유지하고 싶었다면와우, 아름답고 완벽하게 작동했습니다. 나는 파이썬에 들어가기 만하고 옵션이 있다는 것을 깨닫지 못했다. 폴 감사합니다. – bornytm