Python - 목록 정렬
영숫자순으로 목록 정렬
목록 개체에는
sort()
기본적으로 목록을 영숫자, 오름차순으로 정렬하는 메서드가 있습니다.
예시
목록을 알파벳순으로 정렬:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
예시
목록을 숫자로 정렬:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
내림차순 정렬
내림차순으로 정렬하려면 키워드 인수를 사용하십시오 reverse = True
.
예시
내림차순으로 목록을 정렬합니다.
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
예시
내림차순으로 목록을 정렬합니다.
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
정렬 기능 사용자 정의
키워드 인수를 사용하여 고유한 기능을 사용자 정의할 수도 있습니다 .key =
function
이 함수는 목록을 정렬하는 데 사용할 숫자를 반환합니다(가장 낮은 숫자 먼저).
예시
숫자가 50에 얼마나 가까운지를 기준으로 목록을 정렬합니다.
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
대소문자를 구분하지 않는 정렬
기본적으로 이 sort()
메서드는 대소문자를 구분하므로 모든 대문자가 소문자보다 먼저 정렬됩니다.
예시
대소문자를 구분하는 정렬은 예기치 않은 결과를 초래할 수 있습니다.
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
운 좋게도 목록을 정렬할 때 내장 함수를 주요 기능으로 사용할 수 있습니다.
따라서 대소문자를 구분하지 않는 정렬 기능을 원하면 str.lower를 키 기능으로 사용하십시오.
예시
목록에서 대소문자를 구분하지 않는 정렬을 수행합니다.
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
역순으로
알파벳에 상관없이 목록의 순서를 반대로 하고 싶다면?
이 reverse()
메서드는 요소의 현재 정렬 순서를 반대로 합니다.
예시
목록 항목의 순서를 반대로 합니다.
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)