반응형
파이썬에서는 sort()
와 sorted()
를 사용하여 정렬을 할 수 있는데, 인자로 key = lamda x:x[0]
등을 주어서 정렬 조건을 지정해줄 수 있습니다.
이때 우선 조건과 차선 조건을 지정해주고 싶은 경우(2가지 이상의 조건이 필요할 경우), 다음과 같이 사용할 수 있습니다.
array = (('b', 1, '나'), ('c', 2, '라'), ('a', 3, '다'), ('a', 7, '가'), ('c', 3, '가'))
print(sorted(array, key=lambda x: (x[0], x[1]))) # 0번, 1번 키(알파벳, 숫자)
print(sorted(array, key=lambda x: (x[0], x[2]))) # 0번, 2번 키(알파벳, 한글)
# 출력
# [('a', 3, '다'), ('a', 7, '가'), ('b', 1, '나'), ('c', 2, '라'), ('c', 3, '가')]
# [('a', 7, '가'), ('a', 3, '다'), ('b', 1, '나'), ('c', 3, '가'), ('c', 2, '라')]
sort()
를 이용해도 동일하게 사용할 수 있습니다.
array = [('b', 1, '나'), ('c', 2, '라'), ('a', 3, '다'), ('a', 7, '가'), ('c', 3, '가')]
array.sort(key=lambda x: (x[0], x[1]))
print(array)
array.sort(key=lambda x: (x[0], x[2]))
print(array)
# 출력
# [('a', 3, '다'), ('a', 7, '가'), ('b', 1, '나'), ('c', 2, '라'), ('c', 3, '가')]
# [('a', 7, '가'), ('a', 3, '다'), ('b', 1, '나'), ('c', 3, '가'), ('c', 2, '라')]
반응형
'Language > Python' 카테고리의 다른 글
[Python] 파이썬 순열 조합 / Python permutation(), combination() (0) | 2021.01.18 |
---|---|
[Python] 파이썬 나눗셈 나머지, 몫 구하기 ( / , %, // , divmod) (0) | 2021.01.12 |
[Python] upper(), lower() 함수 / 파이썬 문자열 대문자 소문자 변환 (0) | 2021.01.12 |
[Python] islower(), isupper() 함수 / 파이썬 문자열 대문자 소문자 체크 (0) | 2021.01.12 |
[Python] isalpha(), isdigit() 함수 / 문자열 체크하기 (0) | 2021.01.12 |