Please Enable JavaScript!
Gon[ Enable JavaScript ]

파이썬(Python) 리스트 정렬 함수 sort 사용하기

파이썬 Python
반응형

파이썬의 “sort()” 메서드는 리스트의 요소를 정렬할 때 사용됩니다. 이 메서드는 리스트 내의 요소를 순서대로 재배열하여 정렬합니다. “key” 매개변수를 사용하면 정렬 기준을 유연하게 지정할 수 있으며, 사용자 정의 함수나 람다 함수를 활용하여 다양한 정렬 요구사항을 처리할 수 있습니다.

 


 

 

 

구문

 

“sort()” 메서드의 구문은 다음과 같습니다.

 

list_name.sort(key=None, reverse=False)

l  “list_name”: 정렬할 리스트의 이름을 지정합니다.

l  “sort()”: 리스트를 정렬하는 메서드입니다.

l  “key” (선택사항): 정렬 기준을 지정하는 함수를 입력할 수 있으며, 이 함수에 따라 요소를 비교합니다.

l  “reverse” (선택사항): “True”로 설정하면 내림차순(큰 값부터 작은 값 순서)으로 정렬됩니다.

 

 

1. 숫자 리스트 정렬

 

“numbers” 리스트를 오름차순으로 정렬합니다.

 

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
print(numbers)
 
[출력]
[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

 

 

2. 문자열 리스트 정렬

 

“fruits” 리스트를 사전 순으로 정렬합니다.

 

fruits = ['apple', 'banana', 'cherry', 'date']
fruits.sort()
print(fruits) 
 
[출력]
['apple', 'banana', 'cherry', 'date']

 

 

3. 내림차순 정렬

 

“numbers” 리스트를 내림차순으로 정렬합니다. “sort()” 메서드를 사용하여 리스트의 요소를 정렬할 수 있으며, “key” “reverse” 매개변수를 활용하여 정렬 방식을 조절할 수 있습니다.

 

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort(reverse=True)
print(numbers)
 
[출력]
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

 

 

“sort()” 메서드에서 “key” 매개변수를 사용하면 정렬 기준을 사용자 정의 함수로 지정할 수 있습니다. 다음은 “key” 매개변수와 관련된 예제입니다. 내장 함수: 파이썬에 내장된 함수 중에서도 일반적으로 사용되는 함수들이 있습니다.

 

l  ”len()” : 문자열의 길이를 기준으로 정렬합니다.

l  ”str.lower()” : 문자열을 소문자로 변환한 뒤 정렬합니다.

l  ”str.upper()” : 문자열을 대문자로 변환한 뒤 정렬합니다.

l  ”abs()” : 숫자의 절댓값을 기준으로 정렬합니다.

l  ”max()” : 숫자나 문자열 중 최댓값을 기준으로 정렬합니다.

l  ”min()” : 숫자나 문자열 중 최솟값을 기준으로 정렬합니다.

 

 

4. 문자열 길이를 기준으로 정렬

 

“key” 매개변수에 “len” 함수를 사용하여 각 문자열의 길이를 기준으로 정렬합니다. 결과는 문자열 길이가 짧은 순서대로 정렬됩니다.

 

fruits = ['apple', 'banana', 'cherry', 'date']
fruits.sort(key=len)
print(fruits)
 
[출력]
['date', 'apple', 'banana', 'cherry']

 

 

5. 사용자 정의 함수를 이용한 정렬

 

“key” 매개변수에 사용자 정의 함수 “get_second_element”을 사용하여 튜플의 두 번째 요소를 기준으로 정렬합니다. 결과는 두 번째 요소가 작은 순서대로 정렬됩니다.

 

def get_second_element(item):
    return item[1]
 
data = [(1, 4), (3, 2), (2, 5)]
data.sort(key=get_second_element)
print(data)
 
[출력]
[(3, 2), (1, 4), (2, 5)]

 

 

6. 대소문자 무시하고 문자열 정렬

 

“key” 매개변수에 “str.lower” 함수를 사용하여 대소문자를 무시하고 문자열을 정렬합니다. 결과는 대소문자를 구분하지 않고 정렬합니다.

 

words = ['apple', 'Banana', 'cherry', 'Date']
words.sort(key=str.lower)
print(words)
 
[출력]
['apple', 'Banana', 'cherry', 'Date']

 

 

7. 정렬 기준 역순으로 정렬

 

“key” 매개변수에 람다 함수를 사용하여 요소를 음수로 변환하여 역순으로 정렬하고 결과는 큰 값부터 작은 값 순서입니다.

 

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort(key=lambda x: -x)
print(numbers)
 
[출력]
[9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1]

 

반응형
Posted by 녹두장군1
,