Notice
Recent Posts
Recent Comments
01-19 20:16
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- github
- 프로그래머스 조건에 맞는 개발자 찾기
- 백준 24499 파이썬
- 리스트 컴프리헨션
- ROWNUM
- SQLD
- 백준 2852
- 정규화
- join
- 백준 크리문자열
- react
- 백준 1756
- 백준 11059
- 깃허브
- 파이썬
- SAA-C02
- sql
- 알고리즘
- 데이터베이스
- AWS
Archives
- Today
- Total
-
[Python] 리스트 컴프리헨션 본문
반응형
파이썬 문법의 장점을 극대화시키는 문법인 리스트 컴프리헨션은 직관적으로 리스트를 생성하는 방법이다.
대괄호 []
내부에 for문과 if문을 사용하여 조건에 만족하는 것만 리스트로 생성할 수 있다.
리스트 컴프리헨션을 사용하는 가장 큰 이유는 직관적이고, 코드를 한줄로 만들 수 있으며 속도면에서도 우수하기 때문이다.
리스트 생성
기존에 알던 문법으로 1부터 10까지의 정수를 리스트로 만드는 방법은 다음과 같다.
numbers = []
for n in range(1, 10+1):
numbers.append(n)
이 코드를 리스트 컴프리헨션으로 표기하면 다음과 같다.
numbers = [x for x in range(10)]
동작 원리
조건 걸기
1부터 10까지 정수 중 짝수만 들어있는 리스트를 만드는 코드는 다음과 같다.
numbers = []
for n in range(1, 10+1):
if n % 2 == 0:
numbers.append(n)
이를 리스트 컴프리헨션으로 표기하면 다음과 같다.
numbers = [x for x in range(1, 10+1) if x % 2 == 0]
이 때, if
키워드는 for문
다음에 위치해야 한다.
중복 표현
컴프리헨션은 내부에서 for 문
과 if 문
을 여러번 반복해서 사용할 수 있다.
l = [(x, y) for x in ['a', 'b', 'c'] for y in ['1', '2', '3']]
print(l)
# 출력 결과
[('a', '1'), ('a', '2'), ('a', '3'),
('b', '1'), ('b', '2'), ('b', '3'),
('c', '1'), ('c', '2'), ('c', '3')]
for 문이 작동하는 순서는 왼쪽부터 차례대로 작동한다.
반응형
'Python' 카테고리의 다른 글
[파이썬] 리스트 원소 길이순으로 정렬하기 (0) | 2023.04.15 |
---|---|
[Python] print 문의 옵션 (sep, end, format, escape) (0) | 2022.05.11 |
[Python] dictionary 에서 가장 큰 value에 대한 key 값 찾기 (0) | 2022.05.09 |
[Mac] jupyter notebook 설치 (0) | 2022.05.03 |
[Django] Error: That port is already in use 해결법 (0) | 2021.11.23 |
Comments