파이썬의 sort() 함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다.
sort(reverse=True) 또는 reverse()를 이용하여 내림차순으로도 구현이 가능합니다.
이 글에서는 key 매개변수를 가지는 sort()에 대해 알아보겠습니다.
key 매개변수를 가지는 sort() 함수는 key 값을 기준으로 정렬되고 기본값은 오름차순입니다. 또한 lambda식을 사용할 수 있습니다.
백준 1181번 문제를 예시로 들어보겠습니다.
이 문제 같은 경우 sort(key)를 이용하여 쉽게 구할 수 있습니다.
data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yours']
#중복 제거
data_list = list(set(data_list))
print(data_list)
#길이가 짧은 순서대로 정렬하되,
#길이가 같으면 사전 순서대로 정렬→ 안 써줘도 지가 알아서 사전순서대로 정렬
data_list.sort(key=lambda x : len(x))
여기서 x는 data_list의 요소를 의미한다.
print(data_list)
#첫 번째 요소를 기준으로 오름차순(알파벳순)으로 정렬,
#첫 번째 요소가 동일한 경우에는 2번째 요소를 기준으로 정렬
#즉 사전 순서대로 정렬
# data_list.sort()
# print(data_list)
2차원 리스트를 사용하는 경우
data_list = ['but','i','wont','hesitate','no','more','no','more','it','cannot','wait','im','yours']
for i in range(len(data_list)) :
data_len = len(data_list[i])
print(data_len)
data_list[i] = (data_list[i], data_len)
#소괄호는 tuple형태로 집어 넣겠다는 의미
# data_list[i] = [data_list[i], data_len]
#대괄호는 list형태로 집어 넣겠다는 의미
print(data_list[i])
# data_list.sort(key = lambda x :(x[1], x[0]))
data_list.sort(key = lambda x :[x[1], x[0]])
#대괄호이든 소괄호이든 상관없다.
print(data_list)
출처를 밝힙니다.
https://kingofbackend.tistory.com/98
[Python] sort()에서의 key lambda 사용하기
파이썬의 sort() 함수는 오름차순으로 정렬해주는 함수입니다. 문자열 또한 오름차순으로 정렬이 됩니다. sort(reverse=True) 또는 reverse()를 이용하여 내림차순으로도 구현이 가능합니다. 이 글에서는
kingofbackend.tistory.com
깔끔한 정리
https://velog.io/@aonee/Python-%EC%A0%95%EB%A0%AC-sort-sorted-reverse
[Python] 정렬 문법 sort() sorted() reverse
velog.io
'임시저장소' 카테고리의 다른 글
2개 리스트에서 일치하는 요소를 찾고 싶은 때→in 연산자★★ (0) | 2022.12.18 |
---|---|
파이썬 enumerate() 1부터 시작, 시작 인덱스 지정★★ (0) | 2022.12.18 |
10진수를 n진법으로 (0) | 2022.12.17 |
for x, y in arr(2차원 배열) vs for x, y in zip(arr1, arr2) (0) | 2022.12.16 |
2진수 끼리의 연산★★ (3 | 5) (3 & 5) (0) | 2022.12.16 |