반응형

파이썬에서 정렬의 기본이 되는 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
 
= []
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
 
= []
for i in range(20): # a 리스트에 1~100사이 수 랜덤 push
    a.append(random.randint(1,100))
 
print 'a :',a
= 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
 
= 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


반응형