- 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
리스트 컴프리헨션¶
리스트 컴프리헨션은 파이썬 리스트를 만드는 간결한 방법입니다.
a = [1, 2, 3, 4, 5]
a_square = [1, 4, 9, 16, 25]
a라는 리스트에 대해 각 요소의 제곱의 값을 갖는 a_square와 같은 새로운 리스트를 만들려고 합니다.
리스트 컴프리헨션을 사용하지 않는다면 아래와 같이 코드를 작성할 수 있습니다.
b = [1, 2, 3, 4, 5]
b_square = []
for n in b:
b_square.append(n**2)
print(b_square)
[1, 4, 9, 16, 25]
b 리스트의 각 요소의 제곱의 값을 갖는 새로운 리스트 b_square가 만들어졌습니다.
만약 컴프리헨션을 사용한다면
c = [1, 2, 3, 4, 5]
c_square = [n**2 for n in c]
print(c_square)
[1, 4, 9, 16, 25]
위와 같이 훨씬 간결한 한 줄의 코드로 새로운 리스트를 만들 수 있습니다.
예제에서 볼 수 있듯이 리스트 컴프리헨션은 표현식(n**2)과 그 뒤의 for 절과 if 절들을 감싸는 대괄호([ ])로 구성됩니다. 그리고 그 결과는 새로운 리스트가 됩니다.
아래 코드는 두 개의 for 절과 조건식을 사용한 리스트 컴프리헨션의 예제입니다.
d = [(x, y) for x in [1, 2, 3] for y in [3, 1, 4] if x != y]
print(d)
[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
리스트 [1, 2, 3]와 [3, 1, 4]의 각 요소 x, y에 대해 값이 같지 않은 경우만 표현식 (x, y) 튜플을 새로운 리스트의 요소로 만듭니다.
이전글/다음글
이전글 : 리스트 슬라이싱
다음글 : 리스트 메서드