- Python - 프로그래밍 시작하기
- Python 기초 (Basics)
- Python 변수 (Variables)
- Python 연산자 (Operators)
- Python 리스트 (List)
- Python 튜플 (Tuple)
- Python 문자열 (Strings)
- Python 집합 (Sets)
- Python 딕셔너리 (Dictionary)
- Python 흐름 제어 (Flow control)
- Python 함수 (Function)
- Python 클래스 (Class)
- Python 내장 함수 (Built-in function)
- Python 키워드 (Keyword)
- Keyword - and
- Keyword - as
- Keyword - assert
- Keyword - break
- Keyword - class
- Keyword - continue
- Keyword - def
- Keyword - del
- Keyword - elif
- Keyword - else
- Keyword - except
- Keyword - False
- Keyword - for
- Keyword - from
- Keyword - global
- Keyword - if
- Keyword - import
- Keyword - in
- Keyword - is
- Keyword - lambda
- Keyword - None
- Keyword - not
- Keyword - or
- Keyword - pass
- Keyword - return
- Keyword - True
- Keyword - try
- Keyword - while
- Python 파일 다루기
- Python datetime 모듈
- Python time 모듈
- Python collections.deque
- Python collections.namedtuple
- Python의 선 (Zen of Python)
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
sorted()¶
sorted() 함수는 리스트, 튜플, 집합, 딕셔너리와 같은 반복 가능한 객체를 특정 순서로 정렬해서 새 리스트를 반환합니다.
sorted() 함수의 기본 구문은 아래와 같습니다.
예제1 - 리스트와 튜플¶
a = [5, 1, 8, 2, 6, 3, 7, 4]
b = ('e', 'o', 'u', 'i', 'a')
print(sorted(a))
print(sorted(b))
[1, 2, 3, 4, 5, 6, 7, 8]
['a', 'e', 'i', 'o', 'u']
리스트 (list)와 튜플 (tuple)과 같은 시퀀스를 오름차순으로 정렬합니다.
예제2 - 집합과 딕셔너리¶
c = {'e', 'o', 'u', 'i', 'a'}
d = {'e': 3, 'o': 1, 'u': 2, 'i': 5, 'a': 4}
print(sorted(c))
print(sorted(d))
['a', 'e', 'i', 'o', 'u']
['a', 'e', 'i', 'o', 'u']
마찬가지로 집합 (set)과 딕셔너리 (dictionary)와 같은 컬렉션도 오름차순으로 정렬합니다.
예제3 - 내림차순 (reverse=True)¶
a = [5, 1, 8, 2, 6, 3, 7, 4]
b = ('e', 'o', 'u', 'i', 'a')
print(sorted(a, reverse=True))
print(sorted(b, reverse=True))
[8, 7, 6, 5, 4, 3, 2, 1]
['u', 'o', 'i', 'e', 'a']
reverse=True로 설정하면, 내림차순으로 정렬한 리스트를 반환합니다.
예제4 - key=len¶
e = ['abc', 'defg', 'hi', 'j']
f = [12, 345, 6789, 10]
print(sorted(e, key=len))
print(sorted(f, key=len))
['j', 'hi', 'abc', 'defg']
Traceback (most recent call last):
File "main.py", line 5, in <module>
print(sorted(f, key=len))
TypeError: object of type 'int' has no len()
key는 하나의 인자를 받는 함수를 지정합니다.
key=len으로 지정하면 객체의 길이에 따라 정렬합니다. len()은 객체의 길이를 반환하는 파이썬 내장함수입니다.
만약 객체의 길이를 얻을 수 없다면 TypeError가 발생합니다.
예제5 - key=func (사용자 정의 함수)¶
def func(x):
return x % 5
g = [12, 38, 5, 9, 23]
print(sorted(g))
print(sorted(g, key=func))
[5, 9, 12, 23, 38]
[5, 12, 38, 23, 9]
사용자 정의 함수를 만들 수 있습니다.
함수 func(x)는 x를 5로 나눈 나머지를 반환합니다.
key=func로 지정하면, 리스트의 값을 5로 나눈 나머지의 크기에 따라 리스트를 정렬합니다.
이전글/다음글
이전글 : set()
다음글 : str()