먼저 python의 for 반복문에 대해 모르는 분들은 아래 글 참고
2020/11/25 - [Python/이론] - [python] for 반복문
List comprehension
1. list 사용
2. "for 변수 in 리스트" 이용
< 조건 필터 >
기존 list로 부터 원하는 조건을 충족하는 값들만 빼와서 새로운 리스트를 만들고 싶을 때,
그냥 for문을 사용하면
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evenlist = [] #list에서 짝수만 담아줄 list 생성
for i in list:
if (i%2 == 0): # i가 짝수이면
evenlist.append(i) # evenlist에 i값 추가
print(evenlist)
'''
결과
[2, 4, 6, 8, 10]
'''
list comprehension 사용하면 위의 과정을 한 문장으로 구현 가능
newlist = [ 변수 for 변수 in 기존리스트 if 조건]
1. for 변수 in 기존 리스트 -> 기존 리스트의 변수 중에서
2. if 조건 -> 조건을 만족하면
3. 변수 -> 해당 변수를 newlist의 값으로 저장
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
evenlist= [i for i in list if i%2 == 0]
print(evenlist)
'''
결과
[2, 4, 6, 8, 10]
'''
< 가공 값 >
조건 필터뿐 아니라 변수 값을 가공하여 새로운 list 생성도 가능
list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
newlist= [i*10 for i in list]
print(newlist)
'''
결과
[10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
'''
반응형
'Python (Data) > 이론' 카테고리의 다른 글
[python 자료형] Boolean type(불리언 타입)과 논리 연산자 (0) | 2021.02.04 |
---|---|
[python] 패키지, 모듈, 함수, 클래스 개념 정리 (0) | 2020.11.25 |
[python] for 반복문 (0) | 2020.11.25 |
[Python의 built-in 자료구조] list, tuple, set, dict (0) | 2020.11.11 |
댓글