Study/Python study
[Python(파이썬)] 리스트 초기화
파크영
2021. 8. 5. 01:31
- 비어있는 리스트 초기화
# 비어있는 리스트 초기화
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]]