일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조
- 빅데이터
- 2
- 컴퓨터공학
- 데이터베이스
- 데이터분석
- 사이버보안
- 네트워크보안
- 웹개발
- 소프트웨어
- 컴퓨터비전
- 네트워크
- 클라우드컴퓨팅
- 보안
- 인공지능
- 데이터과학
- 파이썬
- 딥러닝
- 코딩
- 프로그래밍
- 자바스크립트
- I'm Sorry
- 프로그래밍언어
- 컴퓨터과학
- Yes
- 데이터구조
- 버전관리
- 소프트웨어공학
- 알고리즘
- 머신러닝
- Today
- Total
스택큐힙리스트
파이썬에서 2차원 배열을 초기화하는 방법은 무엇인가요? 본문
나는 Python을 시작하고 이차원 리스트를 사용해보려고 합니다. 먼저 모든 공간에 동일한 변수를 채우는 방법을 생각해 보았습니다. 이것이 내가 만든 코드입니다.
def initialize_twodlist(foo):
twod_list = []
new = []
for i in range (0, 10):
for j in range (0, 10):
new.append(foo)
twod_list.append(new)
new = []
원하는 결과를 제공하지만, 우회적인 느낌이 들어요. 이를 더 쉽거나 짧게, 더 미려하게하는 방법은 없을까요?
답변 1
파이썬에서 이차원 리스트를 초기화하려면 다음과 같이 사용합니다.
t = [ [0]*3 for i in range(3)]
하지만 [[v]*n]*n는 사용하지 마세요, 그것은 함정입니다!
>>> a = [[0]*3]*3
>>> a
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
>>> a[0][0]=1
>>> a
[[1, 0, 0], [1, 0, 0], [1, 0, 0]]
답변 2
Python에서 2차원 배열을 초기화하는 방법은 매우 간단합니다. 2차원 배열을 생성하고 초기화하는 방법에 대해 설명하겠습니다.우선, 2차원 배열을 생성하려면 다음과 같이 코드를 작성합니다.
```python
array = [[0 for x in range(n)] for y in range(m)]
```
위 코드에서, `array`는 초기화될 2차원 배열의 이름입니다. `n`과 `m`은 각각 배열의 행과 열의 크기입니다. 위 코드는 `m`개의 길이가 `n`인 리스트를 생성하고 각 요소를 0으로 초기화합니다.
예를 들어, 3x4 크기의 배열을 초기화하려면 다음과 같이 코드를 작성합니다.
```python
array = [[0 for x in range(4)] for y in range(3)]
```
위 코드에서 `array`는 3x4 크기의 2차원 배열입니다.
또한, 배열의 각 요소를 원하는 값으로 초기화할 수도 있습니다. 예를 들어, 다음과 같이 모든 요소를 1로 초기화할 수 있습니다.
```python
array = [[1 for x in range(4)] for y in range(3)]
```
또는 특정한 값을 갖는 요소를 초기화할 수도 있습니다. 예를 들어, 다음 코드는 첫 번째 요소를 10으로, 두 번째 요소를 20으로 초기화합니다.
```python
array = [[10, 20, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
```
이렇게 2차원 배열을 초기화할 때, 반복문을 사용할 필요 없으므로 초기화 속도가 매우 빠릅니다. 이 방법을 사용하여 2차원 배열을 초기화하면 간단하게 코드를 작성할 수 있으므로, Python에서 데이터 처리에 이 방법을 많이 사용합니다.