리스트 컴프리헨션이란?
- 직관적으로 리스트를 생성해가는 것이다.
- 여러줄 쓸 것을 한줄에 만들어 준다.
- 속도도 더 빠르다.
리스트 컴프리헨션 사용법
for문 사용하기
a = [i for i in range(5)]
print(a)
출력: [0, 1, 2, 3, 4]
수식 적용한 for문 사용하기
a = [i*2 for i in range(5)]
print(a)
출력: [0, 2, 4, 6, 8]
문자열로 변환 후 출력 가능
a = [str(i) +'hello' for i in range(5)]
print(a)
출력: ['0hello', '1hello', '2hello', '3hello', '4hello']
오른쪽에 if문 사용하기
a = [ i for i in range(5) if i%2 == 0]
print(a)
출력: [0, 2, 4]
오른쪽에 if문 사용하기(2)
a = [ i for i in range(5) if i%2 == 0 and i%4 == 0]
print(a)
출력: [0, 4]
왼쪽에 if문 사용하기 ( else랑 반드시 같이 사용)
a = [i if i%2==0 else 'odd' for i in range(5)]
print(a)
출력: [0, 'odd', 2, 'odd', 4]
for문 중첩 사용하기
a = [[i,j] for i in range(2) for j in range(3)]
print(a)
출력:[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1], [1, 2]]
집합 컴프리헨션
a = {i for i in range(5)}
print(a)
출력: {0, 1, 2, 3, 4}