
파이썬에서 배열을 선언하면 다음과 같이 생성할 수 있다.
# 예제: 배열 생성과 접근
# 1차원 배열 생성
arr1d = [1, 2, 3, 4, 5]
# 2차원 배열 생성
arr2d = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 배열 요소 접근
print("1차원 배열 요소 접근:")
for elem in arr1d:
print(elem)
print("\n2차원 배열 요소 접근:")
for row in arr2d:
for elem in row:
print(elem, end=" ")
print()
참고로, C언어와 파이썬의 배열은 몇 가지 중요한 차이점이 있다. 아래에서 각 언어의 배열 특성을 비교해보겠다.
C언어 배열:
-
- 정적 배열 (Static Array): 크기가 고정되어 있으며, 컴파일 시점에 메모리를 할당함.
- 동일한 자료형만 담을 수 있음: C언어 배열은 한 가지 자료형만 담을 수 있음.
- 메모리 연속적 할당: 배열 요소는 메모리에서 연속적으로 할당됨.
- 인덱스는 0부터 시작: 배열의 인덱스는 0부터 시작함
int a[5] = {1, 2, 3, 4, 5}; // 1차원 배열
int b[3][4]; // 2차원 배열
파이썬 배열 (리스트와 튜플):
- 동적 배열 (Dynamic Array): 크기가 고정되어 있지 않으며, 필요에 따라 동적으로 크기를 조정할 수 있음.
- 다양한 자료형 담을 수 있음: 리스트와 튜플은 여러 자료형을 담을 수 있음.
- 메모리 연속성 없음: 파이썬 리스트는 값들이 연속적인 곳에 있을 수도 있고 아닐 수도 있음.
- 인덱스는 0부터 시작: 파이썬 배열의 인덱스도 0부터 시작함.
a = [1, 2, 3, "python"] # 리스트
b = (1, 2, 3, "python") # 튜플
파이썬의 배열은 리스트와 튜플로 구현되며, 자료형 선언이 덜 제한적이다.
'자료구조' 카테고리의 다른 글
| 하노이의 탑 (0) | 2024.06.09 |
|---|---|
| C언어 스택 PUSH, POP 과정 (0) | 2024.04.23 |
| 자료형이란 무엇인가? (0) | 2024.04.23 |
| 렝스부호화에 대하여 (0) | 2024.04.23 |
| 이미지는 어떻게 저장되고 표현되는가? (0) | 2024.04.23 |