> 백엔드 개발 > 파이썬 튜토리얼 > Python 목록 정렬 방법

Python 목록 정렬 방법

高洛峰
풀어 주다: 2016-11-23 13:27:45
원래의
1613명이 탐색했습니다.

Python 언어에는 역방향/역방향 정렬, 정방향 정렬, 정렬된 목록을 얻기 위한 정렬이라는 세 가지 목록 정렬 방법이 있습니다. 고급 목록 정렬에서 후자의 두 가지 방법은 정렬을 위한 조건부 매개변수를 추가할 수도 있습니다.
reverse() 메서드

는 다음
>>> x = [1,5,2,3,4]> ;>> x.reverse()
>>> 목록의 요소는 목록의 매개변수를 정렬하지 않고 왼쪽에서 오른쪽으로 다시 저장됩니다. 목록의 매개변수를 정렬해야 하는 경우 목록의 또 다른 정렬 방법인 sort를 사용하여 양수 순서로 정렬해야 합니다.
sort() 정렬 방법

이 함수 방법은 목록의 내용에 대해 정방향 정렬을 수행합니다. 정렬 후 새 목록은 원래 목록을 덮어씁니다(id는 변경되지 않음). 즉, 정렬 방법입니다. 원래 목록 정렬 방법을 직접 수정합니다.
>>> a = [5,7,6,3,4,1,2]
>>a.sort()
>>
[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() 작업 메서드는 다음과 같습니다.
>>> , 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()는 매개 변수와 반환 값이 없는 변경 가능한 개체(사전, 목록)의 메서드입니다. 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']
> >>정렬(mytuple)
[1, 2, 3, 4, 5]
>>>정렬(mylist)
[1, 2, 3, 4, 5]


reverse()는 sort와 같은 방식으로 사용되고, reversed()는 sorted()
>>>와 같은 방식으로 사용됩니다. 3,2, 1]
>>> mylist.reverse()
>>> mylist
[1, 2, 3, 4, 5]
>> ;> mylist =[5,4,3,2,1]
>>> for i in reversed(mylist):
... 인쇄 i,
...
1 2 3 4 5


"역전" 효과는 시퀀스를 슬라이싱하여 얻을 수도 있습니다
>>> mystring="54321"
>>> ; mytuple=(5 ,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> 1]
'12345'
>>> mytuple[::-1]
(1, 2, 3, 4, 5)
>>> :-1]
[1, 2, 3, 4, 5]

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿