● 리스트 정렬
파이썬에서 리스트를 정렬할 때는 sort(), sorted() 등 내장 함수를 이용한다.
● 숫자 리스트 정렬
● sort()
출력 결과 : [1, 2, 3, 4, 5]
sort()의 default는 오름차순이다. 내림차순으로 정렬하고 싶다면 sort()내부에 reverse=True 코드를 추가하면 된다.
출력 결과 : [5, 4, 3, 2, 1]
● sorted()
sorted 함수는 sort함수와 다르게 정렬된 리스트를 반환하는 함수이기 때문에 반환한 리스트를 변수에 할당해줘야 한다.
출력 결과 : [1, 2, 3, 4, 5]
● 문자열 리스트 정렬
문자열들을 포함하고 있는 리스트를 사전순으로 정렬할 때는 아래의 sort()와 sorted()로 정렬할 수 있다.
● sort()
출력 결과 : ['cat', 'dog', 'elephant', 'lion', 'monkey']
오름차순으로 정렬된다. 내림차순으로 정렬을 윈할 시 마찬가지로 reverse=True 옵션을 붙여주면 된다.
출력 결과 : ['monkey', 'lion', 'elephant', 'dog', 'cat']
● sorted()
출력 결과 : ['cat', 'dog', 'elephant', 'lion', 'monkey']
● 문자열 정렬
문자열을 알파벳 순으로 정렬할때는 위와 마찬가지로 sort()함수와 sorted() 함수를 이용하면된다.
● sort()
위와 같이 코드를 작성하면 AttributeError: 'str' object has no attribute 'sort' 오류가 발생한다.
에러 메시지를 해석하면 문자열은 sort함수를 사용할 수 없다는 뜻이다.
문자열에서 sort()함수를 사용하기 위해서는 문자열을 list로 변환하여 사용해야한다.
출력 결과 :
['H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
Hdellloorw
위의 코드와 같이 먼저 문자열을 list로 변환한 후 정렬하고 리스트를 join함수를 이용해 다시 문자열로 변환해줘야 한다.
출력결과로 볼 수 있듯이 문자열의 순서는 A ~ Z 이후 a ~ z 임을 알 수 있다.
● sorted()
출력 결과 : ['H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
sorted() 함수는 sort()함수와는 다르게 문자열을 함수의 인자로 넣어 코드를 작성해도 정렬을 해준다.
다만 sorted() 함수는 결과물이 list로 반환된다.
출력 결과 :
['H', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r', 'w']
Hdellloorw
sorted() 함수를 사용한 후에 join함수를 이용해 문자열로 변환해주면 된다.
'Python' 카테고리의 다른 글
| Python 클래스와 객체 (0) | 2024.01.20 |
|---|---|
| Python 튜플 (0) | 2024.01.20 |
| Python 재귀함수 (0) | 2024.01.16 |
| Python 전역변수 (0) | 2024.01.16 |
| Python Call by value, Call by reference (0) | 2024.01.14 |