십대를 위한 코딩/십대를 위한 파이썬

[1, 2] vs [1 2] 차이, 파이썬 리스트와 NumPy 배열

forSilver 2025. 3. 5. 17:12
반응형

📌 [1, 2] vs [1 2] 차이점

NumPy 배열을 출력할 때, 대괄호([]) 안에서 쉼표(,)가 있는 경우와 없는 경우의 차이는 다음과 같습니다.


✅ [1, 2] → 파이썬 리스트 (list)

arr_list = [1, 2]
print(arr_list)  # [1, 2]
print(type(arr_list))  # <class 'list'>
  • 쉼표(,)가 있는 경우파이썬 리스트
  • 출력 형식: [1, 2]
  • 요소 구분: 쉼표(,)를 사용하여 요소를 나열
  • 연산 방식: 파이썬 기본 리스트 연산 (속도가 느림)

✅ [1 2] → NumPy 배열 (numpy.ndarray)

import numpy as np

arr_numpy = np.array([1, 2])
print(arr_numpy)  # [1 2]
print(type(arr_numpy))  # <class 'numpy.ndarray'>
  • 쉼표(,)가 없는 경우NumPy 배열 (ndarray)
  • 출력 형식: [1 2]
  • 요소 구분: NumPy의 기본 출력 형식 (쉼표 없이 공백으로 구분)
  • 연산 방식: 벡터 연산 가능 (속도가 빠름)

✅ [1, 2]와 [1 2]의 차이 정리

구분 [1, 2] [1 2]

데이터 구조 리스트 (list) NumPy 배열 (ndarray)
출력 방식 [1, 2] (쉼표 포함) [1 2] (쉼표 없음)
연산 속도 느림 (파이썬 기본 리스트) 빠름 (NumPy 벡터 연산)
메모리 효율 비효율적 효율적
차원 정보 리스트는 다차원 지원이 제한적 다차원 배열 쉽게 지원

✅ 예제: 리스트와 NumPy 배열의 연산 차이

# 리스트 연산 (Python 기본 리스트)
arr_list = [1, 2, 3]
print(arr_list * 2)  # [1, 2, 3, 1, 2, 3] → 요소 개수가 2배 증가

# NumPy 배열 연산
arr_numpy = np.array([1, 2, 3])
print(arr_numpy * 2)  # [2 4 6] → 벡터 연산 수행 (각 요소에 2 곱하기)

리스트(list)는 요소를 복제하지만,
NumPy 배열(ndarray)은 벡터 연산을 수행합니다.


🚀 결론

  • [1, 2] → 파이썬 리스트 (list)
  • [1 2] → NumPy 배열 (ndarray)
  • NumPy 배열은 쉼표 없이 출력되며, 벡터 연산이 가능하고 성능이 뛰어남! 🚀