다른 목록을 사용하여 튜플 목록을 업데이트해야 하는 경우 'defaultdict'를 사용할 수 있습니다.
Defaultdict는 'collections' 모듈에 있는 사전과 유사한 컨테이너입니다. dict' 클래스의 하위 클래스입니다. 사전과 같은 객체를 반환합니다. 'defaultdict'는 KeyError를 발생시키지 않습니다. 존재하지 않는 키에 대한 기본값을 제공합니다.
아래는 동일한 데모입니다 -
예시
from collections import defaultdict def merge_vals(list_1, list_2): my_dict = defaultdict(list) for i, j in list_1 + list_2: my_dict[i].append(j) return sorted([(i, max(j)) for i, j in my_dict.items()], key = lambda x:x[0]) my_list_1 = [('v', 1), ('q', 2), ('o', 0)] my_list_2 = [('q', 5), ('o', 3)] print("The first list of tuple is : ") print(my_list_1) print("The second list of tuple is : ") print(my_list_2) print("After merging, it becomes : ") print(merge_vals(my_list_1, my_list_2))
출력
The first list of tuple is : [('v', 1), ('q', 2), ('o', 0)] The second list of tuple is : [('q', 5), ('o', 3)] After merging, it becomes : [('o', 3), ('q', 5), ('v', 1)]
설명
- 필수 라이브러리를 가져옵니다.
- 2개의 목록을 인수로 사용하는 'merge_vals'라는 메서드가 정의되어 있습니다. defaultdict가 생성됩니다.
- 목록의 요소는 반복되고 첫 번째 목록의 요소는 인덱스로 사용되며 두 번째 인덱스의 요소는 사전에 추가됩니다.
- 이 사전은 정렬되어 반환됩니다.
- 튜플 목록 두 개가 생성되어 콘솔에 표시됩니다.
- 'merge_vals' 메소드는 이 두 개의 튜플 목록을 매개변수로 전달하여 호출됩니다.
- 콘솔에 출력으로 표시됩니다.