본문 바로가기
Study/Python study

[Python(파이썬)] 리스트 초기화

by 파크영 2021. 8. 5.

 

  • 비어있는 리스트 초기화
# 비어있는 리스트 초기화
test = []

 

 

  • 값이 주어진 초기화
# 값이 주어진 초기화
test = [1,2,3,4]
test2 = ['2','a','b']
test3 = [[2,3],[3,1],[4,2]]

 

 

  • 1차원 리스트 초기화

- for문 사용 -> 컴프리헨션 사용X 

초기화하는데  코드가 길어진다.

# 리스트 컴프리헨션 X 초기화
test = []
for i in range(5):
	test.append(0)

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

 

- 컴프리헨션 사용 O

# 리스트 컴프리헨션 O
test = [ 0 for i in range(5)]

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

 

 

  • 2차원 리스트 초기화

2차원 리스트를 초기화 할 때는 반드시 컴프리헨션을 사용해야 한다. 

 

-  컴프리헨션 사용X -> ERROR

# 2차원 리스트 초기화
# 리스트 컴프리헨션 사용X -> 문제 발생
test = [[0]*3]*5
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

test[2][1] = 3
# [[0, 3, 0], [0, 3, 0], [0, 3, 0], [0, 3, 0], [0, 3, 0]]

 

-  컴프리헨션 사용O 

# 2차원 리스트 초기화
# 리스트 컴프리헨션 사용O
test = [[0]*3 for _ in range(5)]
# [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]

test[2][1] =3
#[[0, 0, 0], [0, 0, 0], [0, 3, 0], [0, 0, 0], [0, 0, 0]]

 

 

  •  다양한 리스트 초기화

- 1~10까지 숫자 리스트 초기화

test = [i for i in range(1,11)]
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

- 행과 열이 주어졌을때 1부터 순서대로 채워지는 리스트

rows = 3
columns = 5
matrix = [[(i*columns+j+1) for j in range(columns)] for i in range(rows)]

#[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]

 

 

댓글