Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 자료구조
- 리눅스셸명령어
- 파이썬
- 파일명령어
- 코테
- 리눅스
- 네트워크핵심정리
- 제주코딩베이스캠프
- 네트워크면접
- 리눅스퍼미션
- 백준
- 터미널명령어
- 백준1312
- 더오름
- 링크명령어
- 네트워크기초
- 네트워크
- 개발자
- javascript
- 위니브
- Python
- 디렉토리관리
- 코테준비
- 제주ICT
- 컴퓨터네트워크
- 리눅스기초
- 네트워크정리
- Linux
- 백준2587
- 코딩테스트
Archives
- Today
- Total
hyei-devlog
[파이썬 문법 체크] 컴프리헨션(comprehension) 본문
💡 컴프리헨션 (comprehension)
Python의 컴프리헨션(comprehension) 문법은 기존 시퀀스(sequence), 이터러블(iterable), 또는 다른 표현식들로부터 새로운 시퀀스를 생성하는 간결하고 가독성 있는 방법이다.
Python에서는 몇 가지 타입의 컴프리헨션을 사용할 수 있다:
리스트 컴프리헨션, 딕셔너리 컴프리헨션, 세트 컴프리헨션, 제너레이터 컴프리헨션
🧐 컴프리헨션 문법은 2중 for문 등을 사용하지 않도록 권장한다! google convention에도 동일하게 권고하고 있다.
만약 2중으로 써야 할 경우 문법을 풀어서 쓰길 권장한다.
1. 리스트 컴프리헨션: 리스트 컴프리헨션은 가장 일반적으로 사용되며, 대괄호([]) 사이에 표현식과 for문을 넣어 리스트를 생성한다. 필터링을 위해 if문을 추가할 수도 있다.
squares = [x**2 for x in range(10)] # 0부터 9까지의 제곱 리스트 생성
even_squares = [x**2 for x in range(10) if x % 2 == 0] # 0부터 9까지의 짝수의 제곱 리스트 생성
2. 딕셔너리 컴프리헨션: 딕셔너리 컴프리헨션은 중괄호({}) 안에 for문과 선택적 if문을 사용하여 딕셔너리를 생성한다. 표현식 부분에서 key: value 형태를 사용한다.
square_dict = {x: x**2 for x in range(5)} # 0부터 4까지의 수를 키로, 그 제곱을 값으로 하는 딕셔너리 생성
square_dict
books = ['python', 'javascript', 'html/css']
book_dict = {book: idx for idx, book in enumerate(books)}
book_dict
3. 세트 컴프리헨션: 세트 컴프리헨션은 중괄호({}) 안에 for문과 선택적 if문을 사용하여 세트를 생성한다.
odd_set = {x for x in range(10) if x % 2 != 0} # 0부터 9까지의 홀수
4. 제너레이터 컴프리헨션: 제너레이터 컴프리헨션은 소괄호(()) 안에 for문과 선택적 if문을 사용하여 제너레이터 객체를 생성한다. 제너레이터는 반복을 위한 이터러블이지만, 모든 값을 메모리에 저장하지 않고 필요할 때마다 생성한다.
square_gen = (x**2 for x in range(10)) # 0부터 9까지의 제너레이터
gen = (i for i in range(2, 100000000, 2))
for i, j in zip(range(10), gen):
print(i, j)
'Python' 카테고리의 다른 글
큐(Queue)란? (0) | 2025.02.28 |
---|---|
스택(Stack)이란? (0) | 2025.02.28 |
[파이썬 문법 체크] collections 모듈 (0) | 2025.01.31 |
[파이썬 문법 체크] 제너레이터(Generator)와 이터레이터(Iterator) (2) | 2025.01.31 |
[파이썬 문법 체크] 왈러스 연산자, f-string (0) | 2025.01.31 |