Python 내장 함수 sorted () 및 list.sort()

2045 단어

sorted

>>> help(sorted)
Help on built-in function sorted in module __builtin__:

sorted(...)
    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

list.sort

>>> help(list.sort)
Help on method_descriptor:

sort(...)
    L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
    cmp(x, y) -> -1, 0, 1

iterable: 교체 가능한 유형입니다.cmp: 비교에 사용되는 함수, 비교는 키에 의해 결정되며 기본값, 교체 집합 중 하나가 있습니다.키: 목록 요소의 어떤 속성과 함수를 키워드로 하고 기본값, 교체 집합 중 하나가 있습니다.reverse: 정렬 규칙.reverse = True 또는 reverse = False, 기본값이 있습니다.반환값: 정렬된 교체 가능한 형식입니다. iterable과 같습니다. 
주: 일반적으로 cmp와 키는 lambda 표현식을 사용할 수 있습니다.

Sorting basic:

>>> print sorted([5, 2, 3, 1, 4])
[1, 2, 3, 4, 5]>>> L = [5, 2, 3, 1, 4]
>>> L.sort()
>>> print L
[1, 2, 3, 4, 5]

Sorting  cmp:

>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>print 
sorted
(L, cmp=lambda x,y:cmp(x[1],y[1]))
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

Sorting  keys:

>>>L = [('b',2),('a',1),('c',3),('d',4)]
>>>print 
sorted
(L, key=lambda x:x[1]))
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]

Sorting  reverse:

>>> print sorted([5, 2, 3, 1, 4], reverse=True)
[5, 4, 3, 2, 1]
>>> print sorted([5, 2, 3, 1, 4], reverse=False)
[1, 2, 3, 4, 5]

주: 효율 키>cmp(key가 cmp보다 빠름)
Sorting Keys에서: 이때 정렬된 L은 두 번째 키워드로만 정렬된 것을 보았습니다. 만약 우리가 두 번째 키워드를 사용하고 싶다면
순서를 정하고 첫 번째 키워드로 정렬할까요?
>>> L = [('d',2),('a',4),('b',3),('c',2)]
>>> print sorted(L, key=lambda x:(x[1],x[0]))
>>>[('c', 2), ('d', 2), ('b', 3), ('a', 4)]

좋은 웹페이지 즐겨찾기