본문 바로가기
Python/기본문법

[Python] 리스트 컴프리헨션을 사용해 리스트 초기화 하는 법

by 백호루이 2023. 12. 16.
반응형

리스트 컴프리헨션은 리스트를 초기화 하는 방법 중 하나이다.

 

이를 이용하면 대괄호에 조건문과 반복문을 사용해서 리스트를 초기화 할 수 있다.

간단히 0부터 19까지의 수 중에서 홀수만 포함하는 리스트를 만들어보자.

# 0 ~ 19까지의 수 중에서 홀수만 포함하는 리스트를 구하시오.

# 1. 리스트 컴프리헨션으로 구현
array = [i for i in range(20) if i % 2 == 1]
print(array)

# 2. 일반 구현
array = []
for i in range(20):
    if i % 2 == 1:
        array.append(i)
print(array)

 

결과 :

[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

 

이번에는 1부터 9까지의 수 중에서 제곱 값을 포함하는 리스트를 만들어 보자.

# 1 ~ 9까지의 수의 제곱 값을 포함하는 리스트를 구하시오.

array = [i * i for i in range(1, 10)]
print(array)

 

결과 :

[1, 4, 9, 16, 25, 36, 49, 64, 81]

 

2차원 리스트를 초기화 할 때 편리하다.

N x M 크기의 2차원 리스트를 초기화 할 때 다음과 같이 사용한다.

# N x M 크기의 2차원 리스트를 초기화 하시오.

n = 3
m = 3
array = [[0] * m for _ in range(n)]
print(array)

 

결과 :

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

 

a=[3 for i in range(8)]
print(a)

b=[i for i in range(8)]
print(b)

c = [i+10 for i in range(8)]
print(c)

d=[i**2 for i in range(8)]
print(d)

e = [[1 for _ in range(4)] for _ in range(3)]
print(e)

 

->

[3, 3, 3, 3, 3, 3, 3, 3]
[0, 1, 2, 3, 4, 5, 6, 7]
[10, 11, 12, 13, 14, 15, 16, 17]
[0, 1, 4, 9, 16, 25, 36, 49]
[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]

반응형

댓글