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

튜플 목록의 Python 그룹화 합계¶

<시간/>

이 튜토리얼에서는 동일한 키를 가진 모든 값을 다른 목록으로 추가하는 프로그램을 작성할 것입니다. 명확하게 이해하기 위해 예를 들어보겠습니다.

입력

list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]

출력

[('a', 6), ('b', 5), ('c', 12)]

주어진 단계에 따라 문제를 해결하십시오.

  • 목록을 초기화합니다.
  • dict를 사용하여 첫 번째 목록을 사전으로 변환하고 변수에 저장합니다.
  • 두 번째 목록을 반복하고 사전에 있는 키에 해당 값을 추가합니다.
  • 결과를 인쇄합니다.

예시

# initializing the lists
list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]
# convering list_one to dict
result = dict(list_one)
# iterating over the second list
for tup in list_two:
   # checking for the key in dict
   if tup[0] in result:
      result[tup[0]] = result.get(tup[0]) + tup[1]
      # printing the result as list of tuples
print(list(result.items()))

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

[('a', 6), ('b', 5), ('c', 12)]

Counter fromcollections를 사용하여 목록을 반복하지 않고 위의 문제를 해결할 수 있습니다. . 봅시다.

예시

# importing the Counter
from collections import Counter
# initializing the lists
list_one = [('a', 2), ('b', 3), ('c', 5)]
list_two = [('c', 7), ('a', 4), ('b', 2)]
# getting the result
result = Counter(dict(list_one)) + Counter(dict())
# printing the result as list of tuples
print(list(result.items()))

출력

위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

[('a', 6), ('b', 5), ('c', 12)]

결론

튜토리얼에 대해 궁금한 점이 있으면 댓글 섹션에 언급하세요.