본문 바로가기
실전 예제, 프로젝트

[실전 예제/리스트/파이썬] 리스트 요소에 같은 연산을 적용하는 6가지 방법

by First Adventure 2025. 4. 22.
반응형

리스트에 일괄 연산하기

  파이썬을 쓰다 보면 리스트 안의 모든 값에 동일한 연산을 적용해야 하는 상황이 자주 발생합니다. 예를 들어 상품 가격 목록에서 전부 1달러씩 할인하거나, 센서 측정값에 보정값을 빼야 하는 경우가 있죠.
  이번 글에서는 가장 많이 사용되는 6가지 방식으로 리스트에 동일한 연산을 적용하는 방법을 소개합니다. 각 방식의 장단점도 함께 정리했으니, 상황에 맞는 방법을 쉽게 골라 사용할 수 있습니다.

 

1. numpy 사용 - 가장 빠름 ***

import numpy as np

prices = [10, 15, 20]
discounted = np.subtract(prices, 1)
print(discounted)  # [ 9 14 19]

 

2. List Comprehension - 가장 Pythonic **

prices = [10, 15, 20]
discounted = [price - 1 for price in prices]
print(discounted)  # [9, 14, 19]

 

3. map + lambda *

prices = [10, 15, 20]
discounted = list(map(lambda x: x - 1, prices))
print(discounted)  # [9, 14, 19]

 

4. for 루프

prices = [10, 15, 20]
discounted = []
for price in prices:
    discounted.append(price - 1)
print(discounted)  # [9, 14, 19]

 

5. pandas.Series 활용 - 통계 분석 중심 *

import pandas as pd

prices = [10, 15, 20]
discounted = (pd.Series(prices) - 1).tolist()
print(discounted)  # [9, 14, 19]

 

6. operator 모듈 +  map

from operator import sub

prices = [10, 15, 20]
discounted = list(map(lambda x: sub(x, 1), prices))
print(discounted)  # [9, 14, 19]

 

마무리

  리스트 내 동일 연산을 적용하는 방식은 파이썬에 다양한 도구가 존재합니다.  
  가장 추천되는 방식은 상황에 따라 다르며, 아래처럼 선택하면 좋습니다.

  • 리스트가 짧고 가독성이 중요할 때: List Comprehension
  • 벡터화 연산이 필요할 때: NumPy
  • 통계/시계열 분석 중이라면: pandas

 

반응형