Python/Python 예제 코드

대응하는 두 리스트를 정렬하는 Python 예제코드

webnautes 2023. 12. 12. 22:22
반응형

리스트 list1을 내림차순으로 정렬하는 동안, 리스트 list2와의 대응 관계를 유지하는 예제 코드입니다. 예를 들어, list1의 2와 list2의 d가 정렬 후에도 같은 인덱스를 갖게됩니다. 

 

정렬전 - list1의 2와 list2의 ‘d’의 인덱스가 똑같이 0입니다.

[2, 4, 1, 3]

['d', 'c', 'b', 'a']

 

정렬후 - 정렬 후에도  list1의 2와 list2의 ‘d’의 인덱스가 똑같이 2입니다.

[4, 3, 2, 1]

['c', 'a', 'd', 'b']



2023. 12. 3  최초작성



# 2개의 리스트를 선언합니다.
list1 = [2, 4, 1, 3]
list2 = ['d', 'c', 'b', 'a']


# zip 함수를 사용하여 두 리스트의 항목을 튜플로 묶습니다.
paired_list = list(zip(list1, list2))

# paired_list를 첫 번째 요소를 기준으로 내림차순 정렬합니다.
paired_list_sorted = sorted(paired_list, reverse=True)

# 정렬된 튜플 리스트를 다시 두 개의 리스트로 분리합니다.
list1_sorted, list2_sorted = zip(*paired_list_sorted)

# 분리된 리스트를 다시 리스트 형태로 변환합니다.
list1_sorted = list(list1_sorted)
list2_sorted = list(list2_sorted)

# 결과를 출력합니다.
print(list1_sorted)
print(list2_sorted)




실행하면 첫번째 리스트를 내림차순으로 정렬하면서 두번째 리스트도 대응 관계를 유지하도록 정렬했습니다.

[4, 3, 2, 1]

['c', 'a', 'd', 'b']




반응형