-
[파이썬] 리스트 정렬(크기순, 길이순)Python 2020. 8. 7. 15:53반응형
이번에는 리스트 정렬하는 법에 대해 간단히 알아보겠습니다.
리스트를 사용하다 보면 정렬해야 하는 경우가 굉장히 많습니다. 단순히 숫자의 크기 순일 수도, 길이 순일 수도 있죠
정렬하는 데에는 sort() 메서드와 sorted 함수를 사용합니다.
이 둘의 차이점은 sort()는 본체를 변화시킨다는 것, sorted는 정렬한 사본을 만들어 낸다는 것입니다.
a = [7,4,6,3,2,0] a.sort() print(a) #[0, 2, 3, 4, 6, 7]
a.sort(reverse=True) print(a) #[7, 6, 4, 3, 2, 0]
a가 직접 변화되는 것을 알 수 있습니다. sort()의 매개변수로 reverse값이 있는데 이는 역순이냐 아니냐 결정하게 됩니다.
b = sorted(a) print(b) print(a) #[0, 2, 3, 4, 6, 7] #[7, 6, 4, 3, 2, 0]
b = sorted(a, reverse=True) print(b) #[7, 6, 4, 3, 2, 0]
sort()와는 다르게 사본을 만들어 전달해주는 식임을 알 수 있습니다.
또한 이를 더 활용하기 위해선 파라미터 중 key값을 잘 이용해야 되는데요 디폴트 값으로는 크기순, 알파벳순으로 되어있습니다.
gender = ['man', 'woman', 'girl', 'boy'] gender.sort(key=len) print(gender) #['man', 'boy', 'girl', 'woman']
위와 같이 활용할 수도 있고 람다식을 이용할 수도 있습니다.
마지막으로 sort()는 본체가 변한다는 점에 유의하시면서 사용하시길 바라겠습니다.
반응형'Python' 카테고리의 다른 글
[파이썬] VsCode 모듈 import 에러, 문제 (2) 2020.08.29 [파이썬] heapq 사용법 (우선순위 큐, 힙) (0) 2020.08.10 [파이썬] set에 대하여(리스트와 시간비교) (0) 2020.08.07 [파이썬] 특정 문자열이 포함되는지 확인하는법. (0) 2020.08.07 [파이썬] 리스트 초기화 (feat.2차원) (0) 2020.07.25