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

Python에서 다른 목록을 사용하여 튜플 목록 업데이트

<시간/>

다른 목록을 사용하여 튜플 목록을 업데이트해야 하는 경우 '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' 메소드는 이 두 개의 튜플 목록을 매개변수로 전달하여 호출됩니다.
  • 콘솔에 출력으로 표시됩니다.