list comprehension ?
- 식으로 지정해서 생성된 것을 리스트로 잡아둔다
- 리스트 표현식
문법
- [ 식 for 변수 in 리스트 ]
- list( 식 for 변수 in 리스트 )
예시 및 설명
a=[i for i in range(10)]
# 0부터 9까지 숫자 생성 후 리스트 생성
b=list(i in fro i in range(10)]
# 0부터 9까지 숫자 생성 후 리스트 생성
- 뒤에서 앞으로 읽어보자
- range(10)으로 0부터 9까지 생성하여 변수 i에 숫자를 꺼내고, 최종적으로 i를 이용하여 리스트를 만든다
c=[i*2 for i in range(10)]
-위와 같은 응용도 가능하다
조건문 + list comprehension 문법
- [ 식 for 변수 in 리스트 if 조건식 ]
- list(식 for 변수 in 리스트 if 조건식)
예시 및 설명
a=[i for i in range(10) if i%2==0]
- range로 숫자 생성 후 조건을 검열, 그 후 걸러진 i로 리스트 생성
조건문 여러번 사용시 문법
- [식 for 변수1 in 리스트1 if 조건식1 for 변수2 in 리스트2 if 조건식2 ... for 변수n in 리스트n if 조건식n]
- list(식 for 변수1 in 리스트1 if 조건식1 for 변수2 in 리스트2 if 조건식2 ... for 변수n in 리스트n if 조건식n)
예시 및 설명
a=[i*j for j in range(2,10) for i in range(1,10)]
- 리스트 표현식에 for가 여러번이면, 뒤에서 앞으로 처리함