
다수의 어플리케이션에서 리스트를 정렬하는 작업은 흔하고 중요하다. 파이썬에서 이 과정은 효율적으로 간소화되어 있다. 이 포스트에서는 파이썬에서 다양한 방법으로 리스트를 정렬하는 방법에 대해 설명한다.
sort 메소드를 이용한 리스트 정렬sort 메소드 사용하기sort 메소드는 인자 없이 사용할 때 리스트를 오름차순으로 제자리에서 정렬한다. 즉, 원본 리스트가 변경되고 새로운 리스트는 반환되지 않는다. 이것은 유사한 데이터 유형의 리스트를 신속하고 효율적으로 정렬하는 방법이다.
numbers = [4, 2, 9, 1, 5, 6]
numbers.sort() # 리스트 정렬
print(numbers)[1, 2, 4, 5, 6, 9]reverse 인자와 함께 sort 메소드 사용하기reverse 인자와 sort 메소드를 함께 사용하면 리스트를 내림차순으로 정렬할 수 있다. 이것은 정렬 방향을 제어할 수 있으며 리스트 자체에 직접 사용된다.
numbers = [4, 2, 9, 1, 5, 6]
numbers.sort(reverse=True) # 리스트 내림차순 정렬
print(numbers)[9, 6, 5, 4, 2, 1]sorted 함수를 이용한 리스트 정렬sorted 함수는 어떤 반복 가능한 요소의 새로 정렬된 리스트를 반환한다.
sorted 함수는 반복 가능한 항목, 예를 들어 문자열 리스트와 같은 것을 정렬할 수 있다. sort 메소드와 달리, 원래 리스트는 변경되지 않고 새로운 정렬된 리스트가 반환된다. 이를 통해 원래 순서를 필요에 따라 유지할 수 있다.
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words) # 문자열 정렬
print(sorted_words)['apple', 'banana', 'cherry']특정 튜플 내 요소별로 정렬하려는 경우, 튜플 리스트를 정렬하는 것은 특별한 처리가 필요할 수 있다. key 인자와 람다 함수의 결합을 통해 정확한 정렬 동작을 정의할 수 있다.
tuples = [(1, 2), (3, 1), (5, 0), (4, 4)]
sorted_tuples = sorted(tuples, key=lambda x: x[1]) # 두 번째 요소를 기준으로 튜플 정렬
print(sorted_tuples)[(5, 0), (3, 1), (1, 2), (4, 4)]사전으로 구성된 리스트를 정렬하려면, 사전이 정렬되어야 할 키를 지정해야 한다. 아래는 "age" 키와 연결된 값으로 사전 리스트를 정렬하는 예이다.
people = [{"name": "Alice", "age": 30}, {"name": "Bob", "age": 25}, {"name": "Charlie", "age": 35}]
sorted_people = sorted(people, key=lambda x: x["age"]) # 'age' 값을 키로 사용하여 사람 정렬
print(sorted_people)[{'name': 'Bob', 'age': 25}, {'name': 'Alice', 'age': 30}, {'name': 'Charlie', 'age': 35}]이 코드는 사람을 대표하는 사전의 리스트를 가져와 연령별로 정렬한다. key 인자와 람다 함수를 사용하면, 각 사전의 "age" 값이 정렬 키로 사용되어야 함을 지정할 수 있다.
파이썬에서 리스트를 정렬하는 것은 sort 메소드와 sorted 함수를 사용하여 달성할 수 있다. 오름차순이든 내림차순이든, 이러한 도구를 사용하면 원하는 결과를 달성하기 위한 간단하고 효율적인 방법을 제공한다.
sort 메서드와 sorted 함수 중 어느 것을 사용해야 하나요?
sort 메서드는 원본 리스트를 변경하고, sorted 함수는 새로운 정렬된 리스트를 반환한다. 원본 리스트를 변경하지 않으려면 sorted를, 원본 리스트를 직접 변경하려면 sort를 사용하면 된다.key 인수와 람다 함수를 조합하면 특정 튜플 원소를 기준으로 정렬할 수 있다. 예를 들어, sorted(tuples, key=lambda x: x[1])은 튜플의 두 번째 원소를 기준으로 정렬한다.sort 메서드나 sorted 함수는 동일한 데이터 타입의 요소로 구성된 리스트에서만 작동한다. 다른 데이터 타입이 섞인 리스트를 정렬하려면, 특정 데이터 타입을 기준으로 정렬하거나, 사용자 정의 정렬 함수를 작성해야 할 수 있다.sort 메서드나 sorted 함수를 사용할 때 reverse=True 인수를 추가하면 된다. 예를 들어, numbers.sort(reverse=True)은 숫자를 내림차순으로 정렬한다.key 인수를 사용하여 정렬할 키를 지정할 수 있다. 예를 들어, sorted(people, key=lambda x: x["age"]) 코드는 "age" 키의 값을 기준으로 딕셔너리 리스트를 정렬한다.| [Python] 비트 연산자 다양한 예제를 통해 이해하기 | 
|---|
| [Python] 관계 연산자 다양한 예제를 통해 이해하기 | 
| [Python] 'zsh: command not found: python' 오류 해결하기 | 
| [Python] 할당 연산자 다양한 예제를 통해 이해하기 | 
| [Python] 산술 연산자 다양한 예제를 통해 이해하기 | 

CloneCoding
한 줄의 코드에서 시작되는 혁신!