kzen.dev
  • Pytania
  • Tagi
  • Użytkownicy
Powiadomienia
Nagrody
Rejestracja
Po zarejestrowaniu się, będziesz otrzymywać powiadomienia o odpowiedziach i komentarzach do swoich pytań.
Zaloguj się
Brak tłumaczeń pasujących do Twojego wyszukiwania Jeśli masz już konto, zaloguj się, aby sprawdzić nowe powiadomienia.
Za dodane pytania, odpowiedzi i komentarze przewidziane są nagrody.
Więcej
Źródło
Edytuj
 layo
layo
Question

Sumowanie listy liczb w Pythonie

Mam listę liczb takich jak [1,2,3,4,5...], i chcę obliczyć (1+2)/2, a dla drugiej, (2+3)/2, a dla trzeciej, (3+4)/2, i tak dalej. Jak mogę to zrobić?

Chciałbym zsumować pierwszą liczbę z drugą i podzielić ją przez 2, a następnie zsumować drugą z trzecią i podzielić przez 2, i tak dalej.

Jak również, jak mogę zsumować listę liczb?

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

Czy to jest:

b = sum(a)
print b

aby uzyskać jeden numer?

To nie działa dla mnie.

342 2010-12-06T02:01:23+00:00 3
Peter Mortensen
Peter Mortensen
Edytowane pytanie 2. czerwca 2018 в 8:41
Programowanie
python
list
sum
Popular videos
18. Kurs Python 3 - operacje na tekście (String) i listach
18. Kurs Python 3 - operacje na tekście (String) i listach
2 lata temu
Python Program to Calculate The Sum of List Numbers Without Using Built_in Functions
Python Program to Calculate The Sum of List Numbers Without Using Built_in Functions
2 lata temu
Frequently Asked Python Program 16: Find Sum of Elements in the List
Frequently Asked Python Program 16: Find Sum of Elements in the List
3 lata temu
How to calculate the sum of elements in a list  in Python
How to calculate the sum of elements in a list in Python
3 lata temu
7. Kurs Python 3 - lista
7. Kurs Python 3 - lista
2 lata temu
Python - Sumuj liczby
Python - Sumuj liczby
2 lata temu
Programuj obliczenia w Pythonie
Programuj obliczenia w Pythonie
2 lata temu
Liczby pierwsze i naiwny test pierwszości [Python] odc. 13 z serii podstaw Pythona
Liczby pierwsze i naiwny test pierwszości [Python] odc. 13 z serii podstaw Pythona
3 lata temu
Python - listy
Python - listy
3 lata temu
Kurs Python 3 [#6] Listy, tuple i słowniki
Kurs Python 3 [#6] Listy, tuple i słowniki
6 lat temu
Two-dimensional Lists in Python Language | Multi-dimensional Lists in Python
Two-dimensional Lists in Python Language | Multi-dimensional Lists in Python
5 lat temu
Listy dwuwymiarowe [Python] odc. 24 z serii podstaw Pythona
Listy dwuwymiarowe [Python] odc. 24 z serii podstaw Pythona
3 lata temu
Czym są listy? [Python] odc. 14 z serii podstaw Pythona
Czym są listy? [Python] odc. 14 z serii podstaw Pythona
3 lata temu
How to add integer elements from input to the list - Python example
How to add integer elements from input to the list - Python example
6 lat temu
Jak zapisać kod w Pythonie w jednej linijce - List Comprehension by Kacper Sieradziński
Jak zapisać kod w Pythonie w jednej linijce - List Comprehension by Kacper Sieradziński
2 lata temu
Przykłady użycia list comprehension w Python
Przykłady użycia list comprehension w Python
1 rok temu
Python cw14 Stosowanie instrukcji for do obliczania sumy liczb
Python cw14 Stosowanie instrukcji for do obliczania sumy liczb
3 lata temu
Kurs Python 3 [#8] Pętla for
Kurs Python 3 [#8] Pętla for
6 lat temu
« Poprzedni
Następny »
To pytanie ma 1 odpowiedź w języku angielskim, aby je przeczytać zaloguj się na swoje konto.
Karl Knechtel
Karl Knechtel
6. grudnia 2010 в 2:07
2010-12-06T02:07:01+00:00
Więcej
Źródło
Edytuj
#11463023

Pytanie 1: Więc chcesz (element 0 + element 1) / 2, (element 1 + element 2) / 2, ... itd.

Tworzymy dwie listy: jedną z każdego elementu z wyjątkiem pierwszego, a jedną z każdego elementu z wyjątkiem ostatniego. Następnie średnie, które chcemy, są średnimi każdej pary wziętej z tych dwóch list. Używamy zip do pobierania par z dwóch list.

Zakładam, że chcesz zobaczyć w wyniku liczby dziesiętne, mimo że wartości wejściowe są liczbami całkowitymi. Domyślnie Python wykonuje dzielenie liczb całkowitych: odrzuca resztę. Aby podzielić wszystko do końca, musimy użyć liczb zmiennoprzecinkowych. Na szczęście, dzieląc liczbę całkowitą przez zmiennoprzecinkową otrzymamy liczbę zmiennoprzecinkową, więc po prostu użyjemy 2.0 jako dzielnika zamiast 2.

Tak więc:

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

Pytanie 2:

Takie użycie sum powinno działać poprawnie. Działa następujące rozwiązanie:

a = range(10)
# [0,1,2,3,4,5,6,7,8,9]
b = sum(a)
print b
# Prints 45

Ponadto, nie musisz przypisywać wszystkiego do zmiennej na każdym kroku po drodze. Polecenie print sum(a) działa tak samo dobrze.

Będziesz musiał być bardziej konkretny, co dokładnie napisałeś i jak to nie działa.

Peter Mortensen
Peter Mortensen
Edytowana odpowiedź 2. czerwca 2018 в 8:43
260
0
Rafe Kettler
Rafe Kettler
6. grudnia 2010 в 2:04
2010-12-06T02:04:34+00:00
Więcej
Źródło
Edytuj
#11463022

Sumaryczna lista liczb:

sum(list_of_nums)

Obliczanie połowy z n i n - 1 (jeśli mam poprawny wzór), używając list comprehension:

[(x + (x - 1)) / 2 for x in list_of_nums]

Sumowanie przyległych elementów, np. ((1 + 2) / 2) + ((2 + 3) / 2) + ... przy użyciu reduce i lambdas.

reduce(lambda x, y: (x + y) / 2, list_of_nums)
Rafe Kettler
Rafe Kettler
Edytowana odpowiedź 6. grudnia 2010 в 2:10
102
0
 TartanLlama
TartanLlama
6. grudnia 2010 в 2:07
2010-12-06T02:07:25+00:00
Więcej
Źródło
Edytuj
#11463024

Spróbuj użyć zrozumienia listy. Coś w stylu:

new_list = [(old_list[i] + old_list[i+1])/2 for i in range(len(old_list-1))]
0
0
Dodaj pytanie
Kategorie
Wszystkie
Technologia
Kultura / Rekreacja
Życie / Sztuka
Nauka
Profesjonalny
Biznes
Użytkownicy
Wszystkie
Nowy
Popularny
1
bran Bran
Zarejestrowany 1 dzień temu
2
Олечка Арапова
Zarejestrowany 1 dzień temu
3
Роман Азаров
Zarejestrowany 1 tydzień temu
4
Mansur Zakirov
Zarejestrowany 2 tygodnie temu
5
Тагир Мамедов
Zarejestrowany 2 tygodnie temu
DE
EL
ES
FR
ID
IT
NL
PL
PT
TR
ZH
© kzen.dev 2023
Źródło
stackoverflow.com
na podstawie licencji cc by-sa 3.0 z przypisaniem