-
list comprehension / (+dict, tuple, set, ...)파이썬 Study/라이브러리 2021. 3. 14. 18:09
참조 :
https://3months.tistory.com/338
https://shoark7.github.io/programming/python/about-list-comprehension-python
■ List comprehension 기본
1) 정의 :
리스트를 쉽고 짧게 한 줄로 만들 수 있는 파이썬의 문법
[ ( ⓐ변수를 활용한 값 ) for ( ⓑ사용할 변수 이름 ) in ( ⓒ순회할 수 있는 값 ) \ if ( ⓓ 조건문 ) ]
a) 변수활용 : final list에 담길 return 될 값 그 자체
c) 에는 iterable이, 여기에서 순회하면서 사용할 변수 이름이 b)
d) 만약 존재한다면 a)를 담기 위한 조건2) 예시 :
size = 10 arr = [i * 2 for i in range(size)] print(arr) >>> [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
3) 조건문
(a) AND
- if 문을 여러번 조건에 열거 작성하여 수행
arr = [n for n in range(1, 31) if n % 2 == 0 if n % 3 == 0] print(arr) >>> [6, 12, 18, 24, 30] # OR, 한개의 if문 안에 중첩 arr = [n for n in range(1, 31) if (n % 2 == 0 and n % 3 == 0)] print(arr) >>> [6, 12, 18, 24, 30]
(b) OR
- 한 if 문에서 ‘or’ 연산자로 논리 연산을 묶어줘야 한다.
# 한 if 문 내에서 or 연산 해결 // if 문 안쪽에서 괄호로 묶어줘도 상관 없음 # OR arr = [n for n in range(1, 16) if( n % 2 == 0 or n % 3 == 0) ] arr = [n for n in range(1, 16) if n % 2 == 0 or n % 3 == 0] print(arr) >>> [2, 3, 4, 6, 8, 9, 10, 12, 14, 15]
■ 다른 iterable comprehension
1) dictionary
(a) 정의
{ ( ⓐ변수를 활용한 값 ) for ( ⓑ사용할 변수 이름 ) in ( ⓒ순회할 수 있는 값 ) \
if ( ⓓ 조건문 ) }or dict( ) 사용
a) key : value 의 형식을 지켜야 함from string import ascii_lowercase as LOWERS dict_boy = {c: n for c, n in zip(LOWERS, range(1, 27))} # dict_boy = dict(c: n for c, n in zip(LOWERS, range(1, 27))) print(dict_boy) >>> {'a': 1, 'b': 2, 'c': 3, ..., 'x': 24, 'y': 25, 'z': 26}
2) tuple
tuple_boy = tuple(n for n in range(1, 10)) print(tuple_boy) >>> (1, 2, 3, 4, 5, 6, 7, 8, 9)
3) set
# dictionary 형태와 다른게 ':' 와 대응하는 value가 없음 set_boy = {n ** 2 for n in range(10)} print(set_boy) >>> {0, 1, 64, 4, 36, 9, 16, 49, 81, 25}
반응형'파이썬 Study > 라이브러리' 카테고리의 다른 글
set (0) 2021.03.15 filter (0) 2021.03.14 Range / Enumerate / For in loop (1) 2021.03.14 lambda (1) 2021.03.14 iterable / iterator (1) 2021.03.14