[변수식 for 변수 in 순회가능객체]


In [ ]:
[i for i in range(10)]

In [ ]:
[i**2 for i in range(10)]

In [ ]:
{i: i**3 for i in range(10)}

[변수식 for 변수 in 순회가능객체 if 조건]


In [ ]:
[i**2 for i in range(10) if i%2]

In [ ]:
[i**2 for i in range(10) if i%2 == 1]

for 문을 여러번 중첩하면 코드를 이해하기 어려워집니다.


In [ ]:
rows = range(1, 5)
cols = range(10, 15)
vectors = [(r, c) for r in rows for c in cols]
vectors

In [ ]:
vectors = [(r, c) for r in rows if r%2 for c in cols if c%2]
vectors

vectors가 (r, c) 튜플을 포함하고 있을 때 이를 직렬화하는데 사용할 수 있다


In [ ]:
vectors = [(r, c) for r in rows for c in cols]
[i for v in vectors for i in v]

FizzBuzz 문제: 3의 배수는 Fizz, 5의 배수는 Buzz, 3과 5의 배수는 FizzBuzz로 출력하는 문제


In [ ]:
["Fizz" * (i%3==0) + "Buzz" * (i%5==0) or i for i in range(1, 21)]

In [ ]: