Python 언어에는 역방향/역방향 정렬, 정방향 정렬, 정렬된 목록을 얻기 위한 정렬이라는 세 가지 목록 정렬 방법이 있습니다. 고급 목록 정렬에서는 후자의 두 가지 방법을 사용하여 정렬을 위한 조건부 매개변수를 추가할 수도 있습니다.
reverse() 메서드
는 다음과 같이 목록에 있는 요소의 순서를 바꿉니다.
>>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1]
역방향 목록 역정렬: 목록의 매개변수를 정렬하지 않고 원래 목록의 요소를 왼쪽에서 오른쪽으로 복원합니다. 목록의 매개변수를 정렬해야 하는 경우 목록의 또 다른 정렬 방법인 sort를 사용하여 양수 순서로 정렬해야 합니다.
sort() 정렬 방법
이 함수 방법은 목록 내용의 정방향 정렬을 수행합니다. 정렬된 새 목록은 원래 목록(ID는 변경되지 않음), 즉 정렬을 덮어씁니다. 정렬 방법은 원래 목록 정렬 방법을 직접 수정합니다.
>>> a = [5,7,6,3,4,1,2] >>> a.sort() >>> a [1, 2, 3, 4, 5, 6, 7]
많은 Python 초보자가 sort() 메서드에 대해 혼란스러워합니다. 때로는 정렬된 목록이 필요하지만 원래의 정렬되지 않은 목록을 저장하고 싶을 때도 있습니다.
>>> a = [5,7,6,3,4,1,2] >>> b = a.sort() >>> print b None
이때 문제가 나타났습니다. 변수 b null 값을 얻었습니다. 그렇다면 정렬된 목록을 얻고 싶지만 원본 목록을 유지하고 싶다면 어떻게 해야 할까요? list sorted() 메소드는 이를 달성하는 데 도움이 될 수 있습니다.
sorted() 메서드
는 원래 목록을 유지하고 정렬된 목록을 가져올 수 있습니다. sorted() 작업 메서드는 다음과 같습니다.
>>> a = [5,7,6,3,4,1,2] >>> b = sorted(a) >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7]
sorted() 메서드는 모든 데이터 유형 시퀀스에서 사용할 수 있으며 항상 목록을 반환합니다.
>>> sorted('iplaypython.com') ['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']
The 세 가지
sort()의 차이점은 매개 변수와 반환 값이 없는 변경 가능한 개체(사전, 목록)의 메서드입니다. sort()는 변경 가능한 개체를 변경하므로 반환할 필요가 없습니다. 값. sort() 메소드는 변경 가능한 객체에 고유한 메소드 또는 속성입니다. 튜플 및 문자열과 같은 불변 객체에는 이러한 메소드가 없습니다. 호출되면 예외가 반환됩니다.
>>> a=[5,4,3,2,1] >>> a.sort() >>> >>> a [1, 2, 3, 4, 5]
sorted()는 Python의 내장 함수로, 가변 객체(목록, 사전)의 고유한 메서드가 아니라 sorted () 함수에는 매개변수가 필요합니다(매개변수는 목록, 사전, 튜플 또는 문자열일 수 있음). 어떤 매개변수가 전달되든 목록이 컨테이너인 반환 값이 반환됩니다. 키 목록이 반환됩니다.
>>> mystring="54321" >>> mytuple=(5,4,3,2,1) >>> mylist=[5,4,3,2,1] >>> sorted(mystring) ['1', '2', '3', '4', '5'] >>> sorted(mytuple) [1, 2, 3, 4, 5] >>> sorted(mylist) [1, 2, 3, 4, 5]
reverse()는 sort와 동일하게 사용되고 reversed()는 sorted와 동일하게 사용됩니다. () 같은 방법으로
>>> mylist=[5,4,3,2,1] >>> mylist.reverse() >>> mylist [1, 2, 3, 4, 5] >>> mylist=[5,4,3,2,1] >>> for i in reversed(mylist): ... print i, ... 1 2 3 4 5
"역전" 효과는 시퀀스를 슬라이싱하여 얻을 수도 있습니다
>>> mystring="54321" >>> mytuple=(5,4,3,2,1) >>> mylist=[5,4,3,2,1] >>> mystring[::-1] '12345' >>> mytuple[::-1] (1, 2, 3, 4, 5) >>> mylist[::-1] [1, 2, 3, 4, 5]