언어 Language/파이썬 Python

Q. Python에서 for문을 돌면서 실행하는 코드를 한 줄로 작성할 수 있을까?

Tap to restart 2022. 7. 3. 10:00

A. 가능하다. 변수에 저장하지 않는 코드라면.

 

이렇게 두 줄인 코드를

for num in range(10):
    print(num)

 

아래처럼 한 줄로 적을 수 있다.

[print(n) for n in range(10)]

딱히 리스트를 만들 것은 아니지만 [ ]로 감싸주면 실행가능하다!

[ ]를 없애면? 당연히 구문syntax 에러가 난다.

 

함수를 선언해서 할 수도 있다.

아래처럼 하는 것도 가능하다.

def print_num(num):
    print(num)


[print_num(n) for n in range(10)]

 

변수에 할당하는 건 안 된다. 구문 에러가 발생한다.

아래처럼 하고 싶을 수도 있지만 안 된다.

sum = 0
[sum += n for n in range(10)]

 

뭔가 할당하고 저장하기만 하고 반환값이 없다면 앞의 print_num 예처럼 함수를 만들어서 처리할 수는 있다.