다수의 어플리케이션에서 리스트를 정렬하는 작업은 흔하고 중요하다. 파이썬에서 이 과정은 효율적으로 간소화되어 있다. 이 포스트에서는 파이썬에서 다양한 방법으로 리스트를 정렬하는 방법에 대해 설명한다.
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
한 줄의 코드에서 시작되는 혁신!