반응형
리스트를 생성하고 초기화하는 방법에 대해서 알아보겠습니다.
[ Contents ]
1. 리스트 생성 및 초기화
list = [0] * N
리스트 연산을 이용해서 [0]이 N개인 리스트를 생성할 수 있습니다.
range(start, end, stride): start부터 end-1까지, stride 만큼씩 증가하는 수열
range 함수를 이용해서 특정 수열을 생성할 수 있습니다. 보통은 for문에서 많이 사용하나, 리스트 초기화에도 사용할 수 있습니다.
stride를 2씩 증가시켜서, 1부터 10까지 중 홀수만 포함된 리스트를 생성할 수도 있습니다.
2. 2차원 리스트 초기화
1차원 초기화와 마찬가지로, 2차원 초기화도 리스트 곱셈을 이용해서 하면 될 거 같습니다.
하지만, 이러한 초기화에는 큰 문제점이 있습니다.
리스트를 4개 복제한 것이기 때문에, 하나만 바꿔도 다른 리스트까지 전부 값이 바뀝니다. 즉, 똑같은 리스트가 4개 있는 꼴인 거죠.
n*m인 2차원 리스트: [ [0]*m for _ in range(n) ]
따라서, 조금 복잡하더라도 위와 같은 방식으로 생성해야 합니다. 반복문 for문을 이용해서 n번 생성해줍니다. (리스트 안에도 반복문이나 조건문이 들어갈 수 있으며, 이를 리스트 컴프리헨션[List Comprehension]이라고 합니다.)
위와 같은 방식으로 생성하면, 한 리스트가 변경되어도 다른 리스트는 영향을 받지 않습니다.
반응형
'PL (Programming Language) > Python' 카테고리의 다른 글
[Python] 튜플(Tuple)이란? 튜플 연산과 메서드 (0) | 2022.04.12 |
---|---|
[Python] 리스트 연산 및 메서드 함수 (0) | 2022.04.11 |
[Python] 리스트(List)란? 리스트 인덱싱(indexing)과 슬라이싱(slicing) (0) | 2022.04.10 |
[Python] while 반복문과 break, continue 제어자 (0) | 2022.02.13 |
[Python] 조건문 if, elif 그리고 else문 (0) | 2022.02.13 |
댓글