정렬
- 간단한 오름차순 정렬
- sorted() 함수를 호출하면 됩니다.
- 새로운 정렬된 리스트를 반환합니다.
처음 A, B 리스트가 주어졌을때,
A.sort() 는 기존 리스트 자체를 정렬하는 함수입니다.
A = A.sort()를 출력시, None을 출력합니다.
따라서 기존 리스트를 유지하고 싶다면,
새로운 변수에 할당해야합니다.
B1 = sorted(B) 를 사용해야합니다.
A = [9,8,5,6,41]
B = [9,8,5,6,41]
A.sort()
print(A)
A1 = A.sort()
print(A1)
B1 = sorted(B)
print(B1)
[out]
[5, 6, 8, 9, 41]
None
[5, 6, 8, 9, 41]
오름차순과 내림차순
- reverse = True 사용
A = [9,8,5,6,41]
B = [9,8,5,6,41]
# 오름차순
A.sort()
print(A)
# 내림차순
A.sort(reverse = True)
print(A)
# 오름차순
B1 = sorted(B)
print(B1)
# 내림차순
B1 = sorted(B,reverse = True)
print(B1)
[out]
[5, 6, 8, 9, 41]
[41, 9, 8, 6, 5]
[5, 6, 8, 9, 41]
[41, 9, 8, 6, 5]
key 함수
- key함수는 객체의 인덱스 중 일부를 키로 사용하여 복잡한 객체를 정렬하는 것입니다
C = ['안녕하세요', '반가워요', '좋은 하루', '기쁜 하루']
C_alpha = ['Hi', 'Hello', 'Good Morning', 'Good evening']
C1 = sorted(C, key=str)
C2= sorted(C_alpha, key=str)
C11 = sorted(C, key=str,reverse = True)
C21= sorted(C_alpha, key=str, reverse = True)
print(C1)
print(C11)
print('*'*5)
print(C2)
print(C21)
[out]
['기쁜 하루', '반가워요', '안녕하세요', '좋은 하루']
['좋은 하루', '안녕하세요', '반가워요', '기쁜 하루']
*****
['Good Morning', 'Good evening', 'Hello', 'Hi']
['Hi', 'Hello', 'Good evening', 'Good Morning']
튜플 정렬
- itemgetter 이용
from operator import itemgetter
studens = [
('Kim', 'C+', 23),
('Son', 'A', 24),
('Lee', 'B', 22) ]
S1 = sorted(studens, key= itemgetter(0))
S2 =sorted(studens,key= itemgetter(1))
S3 =sorted(studens, key= itemgetter(2))
print('문자순: ',S1, '\n등급순: ',S2, '\n나이순: ',S3)
[out]
문자순: [('Kim', 'C+', 23), ('Lee', 'B', 22), ('Son', 'A', 24)]
등급순: [('Son', 'A', 24), ('Lee', 'B', 22), ('Kim', 'C+', 23)]
나이순: [('Lee', 'B', 22), ('Kim', 'C+', 23), ('Son', 'A', 24)]
'Make the Learning Curve > Python' 카테고리의 다른 글
[Python] Pandas 튜토리얼 (Feat.DACON _ Ch 01 - 04) (0) | 2021.01.07 |
---|---|
[Python] heapq (힙큐)사용 (0) | 2021.01.04 |
[알고리즘] 선택 정렬 (0) | 2020.12.18 |
[Python] unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape 오류 (0) | 2020.12.14 |
py (0) | 2020.10.29 |
댓글