Python/Numpy

리스트에 사칙연산 하려다 멘붕 오면, 그건 NumPy를 부를 시간이다 🧠

THINKRUNNER 2025. 4. 24. 21:26
리스트에 사칙연산 하려다 멘붕 오면, 그건 NumPy를 부를 시간이다 🧠

🧠 리스트에 사칙연산 하려다 멘붕 오면, 그건 NumPy를 부를 시간이다!

1. 멘붕의 시작: 파이썬 리스트에 더하기 해봤자... 😵

처음에 리스트 두 개를 더하면 이런 걸 기대하죠?

[1, 2, 3] + [4, 5, 6]  # 기대한 결과: [5, 7, 9]

그런데 현실은... [1, 2, 3, 4, 5, 6] 🙃 “이게 뭐야?! 그냥 이어붙였잖아!”

2. 그럴 땐 등장하는 영웅: NumPy 💪

리스트는 사칙연산이 안 돼요. 정확히 말하면 원소별 연산을 못 해요. 결국 코딩이 복잡해지죠. 😵 이럴 땐 NumPy!

import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
print(a + b)  # 결과: [5 7 9]

📌 한 줄 요약

리스트는 이어붙이고, 배열은 더한다!

3. 왜 이런 차이가 있을까? 🤔

리스트는 파이썬의 범용 컨테이너예요. 리스트 안에 숫자든 문자든 심지어 리스트도 들어갈 수 있죠.
반면 NumPy의 배열은 동일한 타입의 숫자 데이터를 고정된 크기로 저장해요. 그래서 빠르고, 메모리 효율적이며, 수학 연산도 가능하죠!

4. 리스트로 덧셈을 하려면? 🧨

a = [1, 2, 3]
b = [4, 5, 6]
c = [a[i] + b[i] for i in range(len(a))]  # 귀찮고 비효율적

😵 그러니까 멘붕 오는 거죠... 이럴 땐 짜증내지 말고 NumPy!

5. NumPy의 진짜 장점은? ✨

  • ✅ 원소별 연산이 한 줄로 끝남
  • ✅ 빠르고, 직관적이고, 코딩량도 줄어듦
  • ✅ 브로드캐스팅, 벡터 연산, 행렬 계산도 모두 지원

6. 마무리하며 🙏

이제 리스트에 +, -, *, / 하려다 멘붕 올 일은 없겠죠? 그럴 땐 그냥 NumPy를 부르세요. 더 빠르고, 더 예쁘고, 더 정확한 계산이 기다리고 있어요 😄

🎉 핵심 정리

리스트는 컨테이너, NumPy는 계산기! 연산이 필요하면 언제든 NumPy를 부르자 💡

작성일: 2025-04-24