>  기사  >  백엔드 개발  >  Python 목록 정렬 방법에 대한 자세한 설명 역방향, 정렬, 정렬

Python 목록 정렬 방법에 대한 자세한 설명 역방향, 정렬, 정렬

高洛峰
高洛峰원래의
2017-03-19 15:22:232161검색

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']

세 가지

sort()의 차이점은 변경 가능한 객체(사전)입니다. , list ) 메서드, 매개변수 없음, 반환 값 없음, sort()는 변경 가능한 객체를 변경하므로 값을 반환할 필요가 없습니다. sort() 메서드는 변경 가능한 개체에 고유한 메서드 또는 속성입니다. 튜플 및 문자열과 같은 변경 불가능한 개체에는 이러한 메서드가 없습니다. 호출되면 예외가 반환됩니다.

>>> a=[5,4,3,2,1]
>>> a.sort()
>>> 
>>> a
[1, 2, 3, 4, 5]


sorted()는 Python의 내장 함수입니다. 이는 변경 가능한 객체(목록, 사전)의 고유한 방법이 아닙니다. ) 함수에는 매개변수가 필요합니다(매개변수는 목록, 사전, 튜플 또는 문자열일 수 있음). 어떤 매개변수가 전달되든 목록이 컨테이너인 반환 값이 반환됩니다. 열쇠는 반환됩니다.

>>> 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]


위 내용은 Python 목록 정렬 방법에 대한 자세한 설명 역방향, 정렬, 정렬의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.