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

파이썬 | 두 번째 목록을 사용하여 첫 번째 목록의 값 정렬

<시간/>

두 번째 목록의 도움으로 첫 번째 목록의 값을 정렬해야 하는 경우 'sorted' 방법과 'zip' 방법을 사용합니다.

목록은 이기종 값(즉, 정수, 부동 소수점, 문자열 등과 같은 모든 데이터 유형의 데이터)을 저장하는 데 사용할 수 있습니다.

'sorted' 방법은 목록의 요소를 정렬하는 데 사용됩니다.

zip 메서드는 iterable을 가져와 튜플로 집계하고 결과로 반환합니다.

아래는 동일한 데모입니다 -

예시

def list_sort(my_list_1, my_list_2):
   zipped_list_pairs = zip(my_list_2, my_list_1)
   my_result = [x for _, x in sorted(zipped_list_pairs)]
   return my_result
my_list_1 = ['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r']
my_list_2 = [ 1, 0,0, 2, 2, 1, 1, 0,0]
print("The first list is :")
print(my_list_1)
print("The second list is :")
print(my_list_2)
print("The first list is being sorted based on second list")
print(list_sort(my_list_1, my_list_2))
my_list_3 = ['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't']
my_list_4 = [ 0,1,1,1,0,2,2,2,0,2,1,2,1,0]
print("The third list is :")
print(my_list_3)
print("The fourth list is :")
print(my_list_4)
print("The third list is being sorted based on fourth list")
print(list_sort(my_list_3, my_list_4))

출력

The first list is :
['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r']
The second list is :
[1, 0, 0, 2, 2, 1, 1, 0, 0]
The first list is being sorted based on second list
['e', 'o', 'p', 'r', 'c', 'm', 'v', 'k', 'l']
The third list is :
['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't']
The fourth list is :
[0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 1, 2, 1, 0]
The third list is being sorted based on fourth list
['h', 'h', 'q', 't', 'f', 'k', 'l', 'p', 'u', 'k', 'l', 'm', 'p', 'z']

설명

  • 두 개의 목록을 매개변수로 사용하는 'list_sort'라는 메서드가 정의되어 있습니다.
  • 두 목록을 압축하여 다른 변수에 저장합니다.
  • 이것은 반복되고 정렬되어 다른 변수에 할당됩니다.
  • 결과로 콘솔에 표시됩니다.
  • 두 개의 목록이 정의되어 콘솔에 표시됩니다.
  • 이 목록에서 메서드가 호출됩니다.
  • 그런 다음 콘솔에 출력으로 표시됩니다.