Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

튜플 목록에서 두 번째 튜플 값을 일치시켜 Python 그룹화

<시간/>

이 자습서에서는 두 번째 요소와 동일한 요소를 가진 목록의 모든 튜플을 그룹화하는 프로그램을 작성할 것입니다. 명확하게 이해하기 위해 예를 들어보겠습니다.

입력

[('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':[('관리', '기타' ), ('소셜', '기타'), ('비즈니스', '기타')]}

결론

원하는 방식으로 다양하게 해결할 수 있습니다. 우리는 여기에서 두 가지 방법을 보았습니다. 튜토리얼에 의문점이 있으면 댓글 섹션에 언급하세요.