당신과 같이 자신의 sorted()
을 쓸 수 있습니다 (이것은 key
인수를 사용할 때 파이썬의 새로운 버전이 할 것입니다)를 사용하는 것보다 :
try:
sorted
except NameError:
def sorted(seq, key=None):
lst = list(seq) # get copy of list
if key is not None:
def my_cmp(a, b):
return cmp(key(a), key(b))
else:
my_cmp = cmp
lst.sort(my_cmp)
return lst
가 내장되어 있지 않으면 새로운 sorted()
만 정의됩니다.. 먼저 이름을 sorted
으로 평가하고 NameError
을 얻으면 우리 자신을 정의합니다. seq
의 값을 새 목록으로 만드는 빠른 방법으로 map(None, seq)
을 사용하고 있습니다.
또는, 우리가 @gnibbler에 의해 제안 찌언 최대 효율을 위해 변환을 사용하려면 :
try:
sorted
except NameError:
import operator as op
def sorted(seq, key=None):
if key is not None:
lst = [(key(x), x) for x in seq]
lst.sort()
return map(lambda x: x[1], lst)
else:
lst = list(seq) # get list from sequence
lst.sort()
return lst
: 여기에 드롭 인 교체합니다 (CMP paramenter 제외)입니까? – lucemia
2.3 생각합니다. 나는 sorted()를 사용하는 것 같다. .sort() –