다음과 같이 Integer 또는 String으로 구성된 리스트를 오름차순 또는 내림차순으로 정렬할 수 있습니다.
list = [10, 22, 19, 2, 9, 3]
list_string = ['10', '22', '19', '2', '9', '3']
Integer 리스트 정렬
sort()
는 리스트를 오름차순으로 정렬합니다.
list = [10, 22, 19, 2, 9, 3]
list.sort()
print(list)
Output:
[2, 3, 9, 10, 19, 22]
오름차순으로 정렬된 리스트를 reverse()
로 순서를 바꾸면 내림차순으로 정렬된 것처럼 됩니다.
list = [10, 22, 19, 2, 9, 3]
list.sort()
list.reverse()
print(list)
[22, 19, 10, 9, 3, 2]
String 리스트 정렬 (1)
문자열로 구성된 리스트는 먼저 Integer 리스트로 변환하고, 그 뒤에 sort()
로 정렬해야 합니다.
이 때 list comprehension과 int()
를 이용하여 문자열 리스트를 Integer 리스트로 변환할 수 있습니다.
list_string = ['10', '22', '19', '2', '9', '3']
list = [int(x) for x in list_string]
list.sort()
print(list)
Output:
[2, 3, 9, 10, 19, 22]
내림차순 정렬은 reverse()
를 추가로 호출해주면 됩니다.
list_string = ['10', '22', '19', '2', '9', '3']
list = [int(x) for x in list_string]
list.sort()
list.reverse()
print(list)
Output:
[22, 19, 10, 9, 3, 2]
String 리스트 정렬 (2)
좀 더 간단한 방법은 map
을 이용하여 String 리스트로 Integer 리스트로 변환하는 것입니다.
변환 후, sort()
로 정렬합니다.
list_string = ['10', '22', '19', '2', '9', '3']
list = list(map(int, list_string))
list.sort()
print(list)
Output:
[2, 3, 9, 10, 19, 22]
내림차순은 정렬된 리스트에 reverse()
를 적용하면 됩니다.
list_string = ['10', '22', '19', '2', '9', '3']
list = list(map(int, list_string))
list.sort()
list.reverse()
print(list)
Output:
[22, 19, 10, 9, 3, 2]
Recommended Posts:
- Python - dict 정렬 (Key, Value로 sorting)
- Python - float을 int로 변경하는 방법
- Python - String을 bytes로 변경하는 방법
- Python - 특정 문자열로 시작하는 문자열 찾기
- Python - 리스트에서 첫번째, 마지막 요소 가져오는 방법
- Python - bytes를 String으로 변환하는 방법
- Python - 문자열에서 특정 단어 추출
- Python - 문자열 뒤집기, 문자열 거꾸로 출력
- Python - 리스트가 비어있는지 확인
- Python - dictionary의 중복 제거 방법
- Python - 리스트 크기(size) 구하기
- Python - 2차원 리스트를 1차원 리스트로 만들기
- Python - 현재 날짜, 시간 가져오는 방법