반응형
파이썬에서 정렬의 기본이 되는 sort, sorted에 대해 알아보고자 한다.
우선 sort는 list에 존재하는 메서드이고, a.sort()를 할 경우 자기 자신을 정렬을 하게 된다.
sort의 인자에는 key, reverse, cmp 인자가 있는데 cmp는 파이썬 3부터 사용하지 않으므로 생략하도록 한다.
key는 정렬 방식을 지정하는 인자이고, reverse는 역정렬을 원할때 이용할 수 있다.
sorted는 파이썬에서 제공해주는 내장 함수이고, b = sorted(a)를 할 경우 a를 정렬하여 b에게 리턴해준다.
sorted나 sort는 거의 비슷하나 리턴이 다르다고 보면 될 것 같다.(sort의 리턴은 None)
sorted에는 iterable라는 인자가 하나 더 있는데 이것이 이제 어떤 리스트 등등을 정렬할 것인지, iterable한 값을 인자로 주어야한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #-*- coding: CP949 -*- import random a = [] for i in range(20): a.append(random.randint(1,100)) print 'a :',a a.sort() # 기본적인 오름차순 정렬, sort는 리스트 자신을 정렬한다. print 'sort a:',a a.sort(reverse=True) # 기본적인 내림차순 정렬 print 'reverse a:',a a = [] for i in range(20): # a 리스트에 1~100사이 수 랜덤 push a.append(random.randint(1,100)) print 'a :',a b = sorted(a) # sorted를 통해 a의 정렬값을 b에 대입 가능 print 'sorted(a) :', b print 'sorted(a, reverse = True)',sorted(a, reverse = True) # 내림차순 정렬 def comp(n): return n%10 # 1의 자리를 이용하여 comp print 'a :', a a.sort(key = comp) # key를 통해 비교 방식을 지정 가능 print 'sort by comp :',a b = sorted(a, key = comp) print 'use sorted, sort by comp :',b # cmp 인자는 파이썬3 부터 지원하지않는다. // This source code Copyright belongs to Crocus // If you want to see more? click here >> | Crocus |
반응형
'Basic > Python' 카테고리의 다른 글
파이썬 기본적인 클래스 예제 (0) | 2017.07.12 |
---|---|
파이썬 피보나치, 등차수열, 등비수열, 계차수열 예제 (4) | 2017.07.12 |
파이썬 dictionary 전체 메소드 설명 및 예제 코드 (0) | 2017.07.12 |
파이썬 translate, punctuation을 이용한 단어 구분 (0) | 2017.07.12 |
파이썬 딕셔너리 (0) | 2017.07.08 |