728x90
반응형
이 코드는 리스트를 비교하여 순위를 매기는 코드입니다.
우선, 리스트 A, B, C, D는 모두 같은 길이의 원소를 가지고 있고, 각각의 리스트는 다양한 값으로 구성되어 있습니다. 이 코드에서는 리스트의 원소 중에서 인덱스 1, 2, 3에 해당하는 값을 비교하여 순위를 매기고자 합니다.
위 코드는 간단한 함수를 만들어서 이를 이용하여 순위를 매깁니다. 함수 rank_lists()는 리스트와 원하는 순위를 입력받아서, 해당 순위에 해당하는 리스트를 반환합니다. 예를 들어, rank_lists([A, B, C, D], 1)은 리스트 A, B, C, D를 비교하여 인덱스 1에 해당하는 값을 기준으로 순위를 매긴 후, 그 중 1등인 리스트를 반환합니다.
함수 내부에서는 sorted() 함수를 이용하여 리스트를 정렬합니다. 이 때, key 인자를 이용하여 인덱스 1, 2, 3에 해당하는 값을 비교할 수 있도록 합니다. sorted() 함수를 이용하여 정렬된 리스트의 순서를 다시 뒤집어서 원래 순서대로 리스트를 반환합니다.
이렇게 함수를 이용하여 리스트의 순위를 매기면, 더 복잡한 문제에서도 함수를 일반화하여 적용할 수 있으며, 코드의 가독성과 재사용성을 높일 수 있습니다.
A=[0,3,5,7]
B=[0,4,6,8]
C=[0,3,5,8]
D=[0,5,6,7]
# 딕셔너리 형태로 저장
data = {'A': A, 'B': B, 'C': C, 'D': D}
# 딕셔너리의 값을 기준으로 정렬
sorted_data = sorted(data.items(), key=lambda x: x[1], reverse=True)
# 순위 매기기
rank = 1
for i in range(len(sorted_data)):
if i == 0:
print(f"{sorted_data[i][0]}: {rank}")
else:
if sorted_data[i][1] == sorted_data[i-1][1]:
print(f"{sorted_data[i][0]}: {rank}")
else:
rank = i+1
print(f"{sorted_data[i][0]}: {rank}")
결과
B: 1
D: 2
C: 3
A: 4
728x90
반응형
'프로그래밍 > 파이썬' 카테고리의 다른 글
tkinter 모듈을 사용하여 문장 암기 프로그램 만들기 (0) | 2023.04.02 |
---|---|
클래스놈 파이썬 문제 풀이 (0) | 2023.03.31 |
turtle 모듈 사용하여 빨간색 별, 파란색 별 각각 그리는 파이썬 코드 (0) | 2023.03.30 |
파이썬 리스트 사용해서 최고점, 최저점, 평균값 구하는 코드 작성하기 (0) | 2023.03.30 |
직각삼각형, 역삼각형, 마름모를 파이썬으로 구현해보자. (0) | 2023.03.29 |
댓글