logo

파이썬의 sort()

정렬 기능을 사용하면 목록을 오름차순과 내림차순으로 정렬할 수 있습니다. 정수, 부동 소수점 숫자, 문자열 및 기타 목록을 정렬하는 데 사용할 수 있습니다. 파이썬 . 시간 복잡도는 O(NlogN)입니다.

Python sort() 구문

Python에서 sort() 함수의 구문은 다음과 같습니다.

통사론: list_name.sort(키=…, 역방향=…)



매개변수:

기본적으로 Python sort()에는 추가 매개변수가 필요하지 않으며 목록을 오름차순으로 정렬합니다. 그러나 두 가지 선택적 매개변수가 있습니다.

  • 열쇠: 정렬 비교의 키 역할을 하는 함수
  • 뒤집다: true인 경우 목록이 내림차순으로 정렬됩니다.

반환 값: sort()는 아무것도 반환하지 않지만 전달된 매개변수에 따라 원래 목록을 변경합니다.

Python sort() 함수란 무엇입니까?

파이썬에서는sort()>function은 list에 속하는 메소드입니다. 기본적으로 Python 또는 목록의 요소를 오름차순으로 정렬하는 데 사용됩니다. 그만큼sort()>메서드는 원래 목록을 그 자리에서 수정합니다. 즉, 새로운 정렬된 목록을 만드는 대신 기존 목록 개체 내에서 직접 요소를 다시 정렬합니다.

Python 예제의 Sort()

Python sort() 메소드의 기본 예입니다.

자바 int를 두 배로 늘리기

예 : 이 예에서 아래 코드는 이름이 지정된 목록을 정의합니다.unsorted_list>숫자 요소로. 그만큼sort()>그런 다음 메서드가 목록에 적용되어 해당 요소가 오름차순으로 재정렬됩니다. 그러면 정렬된 목록이 인쇄되어 정렬 작업의 결과가 표시됩니다.

파이썬3




unsorted_list>=> [>2>,>4>,>5>,>32>,>6>,>255>,>5>,>42>]> unsorted_list.sort()> print>(>'Now it is sorted:'>, unsorted_list)>

>

>

산출:

Now it is sorted: [2, 4, 5, 5, 6, 32, 42, 255]>

Python에서 Sort()를 수행하는 다양한 방법

파이썬에서는sort()>목록의 요소를 오름차순으로 정렬하는 데 사용되는 내장 방법입니다. 원래 목록을 수정합니다. 즉, 새 목록을 만들지 않고 목록 내에서 요소를 직접 재정렬합니다. 그만큼sort()>메소드는 어떤 값도 반환하지 않습니다. 단순히 목록을 정렬하고 업데이트합니다.

  1. 정렬 오름차순으로 나열
  2. 정렬 내림차순으로 나열
  3. 다음으로 정렬 맞춤 기능 키 사용
  4. 정렬 길이별 문자열 목록
  5. 정렬 목록 튜플 특정 요소에 의한
  6. 정렬 목록 사전 특정 키로

오름차순 정렬 목록을 사용하는 Python의 Sort()

Python의 `sort()` 메소드는 요소 목록을 오름차순으로 정렬하는 데 사용됩니다. 숫자 또는 사전순으로 증가하도록 요소를 재배열하여 원래 목록을 그 자리에서 수정합니다. 이 방법은 숫자 값, 문자열 또는 둘의 조합을 포함하는 목록에 적용할 수 있습니다. 기본적으로 Python의 sort()는 매개변수를 제공하지 않으면 목록을 오름차순으로 정렬합니다.

: 이 예에서 아래 코드는 다양한 유형의 목록에 대한 정렬 작업을 보여줍니다. 먼저 `sort()` 메서드를 사용하여 정수(`숫자`) 목록을 오름차순으로 정렬합니다. 다음으로 부동 소수점 숫자(`decimalnumber`) 목록을 오름차순으로 정렬합니다.

파이썬3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort()> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort()> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort()> print>(words)>

>

>

산출:

[1, 2, 3, 4] [1.68, 2.0, 2.01, 3.28, 3.67] ['For', 'Geeks', 'Geeks']>

내림차순으로 정렬 목록을 사용하는 Python의 Sort()

목록을 내림차순으로 정렬하려면 Python에서 sort() 함수의 reverse 매개변수를 True로 설정합니다.

my_list.sort(reverse=True)>

예 : 나 n 이 예제 코드는 서로 다른 유형(정수, 부동 소수점 숫자 및 문자열)의 세 가지 목록을 정의하고 `reverse=True` 매개변수와 함께 `sort` 메서드를 사용하여 내림차순으로 정렬한 다음 정렬된 목록을 인쇄합니다.

파이썬3




# List of Integers> numbers>=> [>1>,>3>,>4>,>2>]> # Sorting list of Integers> numbers.sort(reverse>=>True>)> print>(numbers)> # List of Floating point numbers> decimalnumber>=> [>2.01>,>2.00>,>3.67>,>3.28>,>1.68>]> # Sorting list of Floating point numbers> decimalnumber.sort(reverse>=>True>)> print>(decimalnumber)> # List of strings> words>=> [>'Geeks'>,>'For'>,>'Geeks'>]> # Sorting list of strings> words.sort(reverse>=>True>)> print>(words)>

>

>

산출:

[4, 3, 2, 1] [3.67, 3.28, 2.01, 2.0, 1.68] ['Geeks', 'Geeks', 'For']>

키를 사용하여 사용자 정의 기능으로 정렬

이 방법에서는 key 매개변수를 사용하여 사용자 정의 함수를 사용한 정렬 작업을 설명합니다. 이를 통해 기본 순서가 아닌 사용자 정의 함수로 정의된 특정 기준에 따라 정렬할 수 있습니다. 각 요소에 사용자 정의 기능이 적용되고 그에 따라 목록이 정렬됩니다.

: 이 예제 코드에서는 튜플의 두 번째 요소를 반환하는 `sortSecond` 함수를 정의합니다. 그런 다음 튜플 목록 `list1`을 생성하고 `sortSecond` 함수를 사용하여 두 번째 요소를 기준으로 오름차순으로 정렬합니다.

파이썬3




def> sortSecond(val):> >return> val[>1>]> # list1 to demonstrate the use of sorting> # using second key> list1>=> [(>1>,>2>),(>3>,>3>),(>1>,>1>)]> # sorts the array in ascending according to> # second element> list1.sort(key>=>sortSecond)> print>(list1)> # sorts the array in descending according to> # second element> list1.sort(key>=>sortSecond,reverse>=>True>)> print>(list1)>

>

>

산출:

[(1, 1), (1, 2), (3, 3)] [(3, 3), (1, 2), (1, 1)]>

Python의 Sort()에서 길이별로 문자열 목록 정렬

이 방법에서는 `key=len`과 함께 `sort()` 함수를 사용하여 길이의 오름차순으로 문자열 목록을 정렬합니다. 이는 문자열이 정렬된 결과 목록에서 가장 짧은 길이부터 가장 긴 길이까지 정렬됨을 의미합니다.

예 : 이 예에서 아래 코드는 문자열 목록을 정의합니다.words>를 사용하여 각 문자열의 길이를 기준으로 정렬합니다.len()>정렬 키 역할을 합니다. 마지막으로 정렬된 목록을 인쇄합니다.

파이썬3




# Original list of strings> words>=> [>'apple'>,>'banana'>,>'kiwi'>,>'orange'>,>'grape'>]> # Sorting by length using the len() function as the key> words.sort(key>=>len>)> # Displaying the sorted list> print>(>'Sorted by Length:'>, words)>

>

>

출력 :

Sorted by Length: ['kiwi', 'apple', 'grape', 'banana', 'orange']>

특정 요소를 기준으로 튜플 목록 정렬

특정 요소를 기준으로 튜플 목록을 정렬하려면 `key` 매개변수와 함께 `sort()` 함수를 사용하세요. 원하는 요소의 인덱스를 대상으로 람다 함수를 키로 지정합니다. 튜플은 해당 특정 요소의 값을 기준으로 정렬됩니다.

예 : 이 메서드 코드에서는 'people'이라는 튜플 목록을 정의합니다. 여기서 각 튜플은 사람의 이름과 나이를 나타냅니다. 그런 다음 다음을 사용하여 각 튜플(연령)의 두 번째 요소를 기준으로 목록을 정렬합니다.sort>메서드와 람다 함수를 정렬 키로 사용합니다.

파이썬3




# Original list of tuples> people>=> [(>'Alice'>,>25>), (>'Bob'>,>30>), (>'Charlie'>,>22>), (>'David'>,>28>)]> # Sorting by the second element of each tuple (age)> people.sort(key>=>lambda> x: x[>1>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, people)>

>

>

출력 :

Sorted by Age: [('Charlie', 22), ('Alice', 25), ('David', 28), ('Bob', 30)]>

특정 키를 기준으로 사전 목록 정렬

이 방법은 Python의 사전 목록에 `sort()` 함수를 사용하는 것과 관련됩니다. 람다 함수를 키 매개변수로 지정하면 각 사전 내의 특정 키를 기준으로 목록을 정렬할 수 있습니다. 이를 통해 선택한 키와 관련된 값에 따라 사전 목록을 오름차순으로 정렬할 수 있습니다.

: 이 예제 코드에서는 다음과 같은 사전 목록을 정의합니다.students>, 여기서 각 사전은 이름과 나이 키가 있는 학생을 나타냅니다. 그런 다음 다음을 사용하여 각 사전의 연령 키를 기준으로 사전 목록을 정렬합니다.sort>메서드와 람다 함수를 키로 사용합니다.

파이썬3




# Original list of dictionaries> students>=> [> >{>'name'>:>'Alice'>,>'age'>:>25>},> >{>'name'>:>'Bob'>,>'age'>:>30>},> >{>'name'>:>'Charlie'>,>'age'>:>22>},> >{>'name'>:>'David'>,>'age'>:>28>},> ]> # Sorting by the 'age' key in each dictionary> students.sort(key>=>lambda> x: x[>'age'>])> # Displaying the sorted list> print>(>'Sorted by Age:'>, students)>

>

>

출력 :

Sorted by Age: [  {'name': 'Charlie', 'age': 22},  {'name': 'Alice', 'age': 25},  {'name': 'David', 'age': 28},  {'name': 'Bob', 'age': 30} ]>

Python의 sorted()와 sort() 함수의 차이점

의 차이점을 살펴보겠습니다. 정렬() Python의 sort() 함수:

파이썬 정렬()

파이썬 정렬()

sorted() 함수는 특정 반복 가능한 객체의 정렬된 목록을 반환합니다. sort() 메소드는 목록을 정렬합니다.
sorted() 함수를 사용하는 동안 오름차순 또는 내림차순을 지정할 수 있습니다. 기본적으로 목록을 오름차순으로 정렬합니다.
통사론 : 정렬됨(반복 가능, 키=키, 역방향=역방향) 통사론 : list.sort(reverse=True|False, 키=myFunc)
반환 유형은 정렬된 목록입니다. 목록을 내림차순으로 정렬하는 데에도 사용할 수 있습니다.

요소 간의 비교가 정의되지 않은 경우에도 모든 반복 가능 항목과 함께 사용할 수 있습니다.

다음을 사용하여 요소를 비교할 수 있어야 합니다.<>그리고>>운영자

동일한 요소의 상대적 순서를 유지하여 안정적으로 만듭니다.

안정적이지 않을 수 있습니다. 동일한 요소의 순서는 변경될 수 있습니다.

대부분의 경우 O(n log n) 시간 복잡도.

대부분의 경우 O(n log n) 시간 복잡도.

한 가지 유형의 값만 포함하는 목록만 정렬할 수 있습니다. 목록을 제자리에 정렬합니다.

지원key>사용자 정의 정렬 기준에 대한 매개변수입니다.

또한key>사용자 정의 정렬 기준에 대한 매개변수입니다.

새로 정렬된 목록을 위해서는 추가 메모리가 필요합니다.

내부 정렬을 수행하여 메모리를 절약합니다.

더 알고 싶으시면 참조하세요 sorted()와 sort() 함수의 Python 차이점 .