튜플은 순서가 있지만 변경할 수 없는 파이썬 컬렉션 또는 배열입니다. 첫 번째 요소가 동일한 튜플이 여러 개 있으면 첫 번째 요소가 동일한 튜플의 두 번째 요소를 추가해야 하는 시나리오가 있을 수 있습니다.
지도 및 for 루프 사용
이 방법에서는 먼저 튜플로 구성된 목록을 고려할 것입니다. 그런 다음 튜플의 요소를 키 값 쌍으로 연결할 수 있도록 사전으로 변환합니다. 그런 다음 사전의 각 키에 대한 값을 합산하여 for 루프를 적용합니다. 마지막으로 map 함수를 사용하여 합산된 값이 있는 목록을 다시 가져옵니다.
예
List = [(3,19),(7, 31), (7, 50), (1, 25.5), (1, 12)] # Converting it to a dictionary tup = {i:0 for i, v in List} for key, value in List: tup[key] = tup[key]+value # using map result = list(map(tuple, tup.items())) print(result)
위의 코드를 실행하면 다음과 같은 결과가 나타납니다.
출력
[(3, 19), (7, 81), (1, 37.5)]
컬렉션 사용
여기서 우리는 위와 유사한 접근 방식을 취하지만 컬렉션 모듈의 defaultdict 메서드를 사용합니다. 이제 지도 기능을 사용하는 대신 사전 항목에 액세스하여 목록으로 변환합니다.
예
from collections import defaultdict # list of tuple List = [(3,19),(7, 31), (7, 50), (1, 25.5), (1, 12)] dict = defaultdict(int) for key, value in List: dict[key] = dict[key]+value # Printing output print(list(dict.items()))
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
출력
[(3, 19), (7, 81), (1, 37.5)]