본문 바로가기
Python/Python FAQ

Python 파이썬에서 숫자 목록을 합산하십시오 [중복], Sum a list of numbers in Python [duplicate]

by 베타코드 2023. 11. 28.
반응형

질문


주어진 숫자 리스트:

[1, 2, 3, 4, 5, ...]

이들의 총합을 어떻게 계산할까요:

1 + 2 + 3 + 4 + 5 + ...

이들의 쌍별 평균을 어떻게 계산할까요:

[(1+2)/2, (2+3)/2, (3+4)/2, (4+5)/2, ...]

답변


질문 1:

숫자 목록을 합하려면 sum을 사용하세요:

xs = [1, 2, 3, 4, 5]
print(sum(xs))

이는 다음을 출력합니다:

15

질문 2:

그러면 (요소 0 + 요소 1) / 2, (요소 1 + 요소 2) / 2 등을 원하시는 건가요?

두 개의 목록을 만듭니다: 첫 번째 요소를 제외한 모든 요소의 목록과 마지막 요소를 제외한 모든 요소의 목록입니다. 그런 다음 원하는 평균은 두 목록에서 쌍을 이룬 평균입니다. zip을 사용하여 두 목록에서 쌍을 가져옵니다.

입력 값은 정수이지만 결과에서 소수점을 보고 싶으실 것으로 가정합니다. 기본적으로 파이썬은 정수 나눗셈을 수행하여 나머지를 버립니다. 모든 단계에서 나눗셈을 하려면 부동 소수점 숫자를 사용해야 합니다. 다행히도 int를 float로 나누면 float가 생성되므로, 나누는 수로 2.0을 사용하면 됩니다.

따라서 다음과 같이 작성합니다:

averages = [(x + y) / 2.0 for (x, y) in zip(my_list[:-1], my_list[1:])]
반응형

댓글