이 자습서에서는 두 번째 요소와 동일한 요소를 가진 목록의 모든 튜플을 그룹화하는 프로그램을 작성할 것입니다. 명확하게 이해하기 위해 예를 들어보겠습니다.
입력
[('Python', 'tutorialspoints'), ('관리', '기타'), ('Django', 'tutorialspoints'), ('React', 'tutorialspoints'), ('소셜', ' 기타'), ('비즈니스', '기타')]
출력
{'tutorialspoint':[('파이썬', 'tutorialspoints'), ('Django', 'tutorialspoints'), ('React', 'tutorialspoints')],'기타':[('관리', '기타'), ('소셜', '기타'), ('비즈니스', '기타')]}
목록에서 튜플을 그룹화해야 합니다. 문제를 해결하는 단계를 살펴보겠습니다.
- 필수 튜플로 목록을 시작합니다.
- 빈 사전을 만듭니다.
- 튜플 목록을 반복합니다.
- 튜플의 두 번째 요소가 사전에 이미 있는지 확인합니다.
- 이미 있는 경우 현재 튜플을 목록에 추가합니다.
- 그렇지 않으면 현재 튜플이 있는 목록으로 키를 초기화합니다.
- 마지막에 필요한 수정 사항이 포함된 사전을 얻을 수 있습니다.
예
# tuplestuples로 목록 초기화 =[('Python', 'tutorialspoints'), ('Management', 'other'), ('Django', 'tialspoints'), ('React', 'tutorialspoints') , ('Social', 'other'), ('Business', 'other')]# empty dictresult ={}# 튜플 목록에 대한 반복 for tup in tuple:# dict의 튜플 요소 검사 if tup[1 ] in result:# 현재 튜플을 dict result[tup[1]].append(tup)에 추가합니다. else:# list로 키를 시작합니다. result[tup[1]] =[tup]# 결과를 출력합니다.print(result)사전>출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
{'tutorialspoints':[('Python', 'tutorialspoints'), ('Django', 'tutorialspoints('React', 'tutorialspoints')], 'other':[('관리', '기타' ), ('소셜', '기타'), ('비즈니스', '기타')]}if를 건너뜁니다. defaultdict를 사용하는 위 프로그램의 조건 . defaultdict를 사용하여 해결해 봅시다. .
예
# 컬렉션에서 defaultdict 가져오기 import defaultdict# tuplestuples로 목록 초기화 =[('Python', 'tutorialspoints'), ('Management', 'other'), ('Django', 'tialspoints'), ( 'React', 'tutorialspoints'), ('Social', 'other'), ('Business', 'other')]# empty dict with defaultdictresult =defaultdict(list)# 튜플의 튜플에 대한 튜플 목록 반복:result[tup[1]].append(tup) # 결과 출력하기 print(dict(result))출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
{'tutorialspoints':[('Python', 'tutorialspoints'), ('Django', 'tutorialspoints('React', 'tutorialspoints')], 'other':[('관리', '기타' ), ('소셜', '기타'), ('비즈니스', '기타')]}결론
원하는 방식으로 다양하게 해결할 수 있습니다. 우리는 여기에서 두 가지 방법을 보았습니다. 튜토리얼에 의문점이 있으면 댓글 섹션에 언급하세요.