Python - List 정렬 방법 (String 리스트, Integer 리스트)

다음과 같이 Integer 또는 String으로 구성된 리스트를 오름차순 또는 내림차순으로 정렬할 수 있습니다.

list = [10, 22, 19, 2, 9, 3]
list_string = ['10', '22', '19', '2', '9', '3']

1. Integer 리스트 정렬 : sort() 함수 이용

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]

2. String 리스트 정렬 (1) : sort() 함수 이용

문자열로 구성된 리스트는 먼저 Integer 리스트로 변환하고, 그 뒤에 sort()로 정렬해야 합니다. 이 때 list comprehensionint()를 이용하여 문자열 리스트를 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]

2. String 리스트 정렬 (2) : map() 함수 이용

좀 더 간단한 방법은 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]
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha