Wenn Sie einen zusammenhängenden Bereich von Elementen aus der Liste möchten, verwenden Sie eine Scheibe:
sum(A[1:4]) # A[1] + A[2] + A[3]
Wenn die Satz von Indizes ist nicht zusammenhängend, verwenden Sie eine Liste Verständnis
indices=[1,5,7]
sum(A[i] for i in indices)
oder operator.itemgetter
:
from operator import itemgetter as ig
indices=[1,5,7]
sum(ig(*indices)(A))
-
Es ist eine Schande, vielleicht, dass die list
Typ nicht ein Tupel als Index annehmen können, A[1,5,7]
als [A[1], A[5], A[7]]
anstelle eines Typs Fehler Behandlung .
'A [1] + A [2]' wird gut funktionieren. Zusätzlich, '2 + 3' summiert sich zu" 5 "und nicht zu" 6 "wie in deiner Frage. – Jan
A [1: 2] hat nur ein einziges Element, A [1]. – RemcoGerlich
'Summe (A [1: 3])'? Die untere Scheibe ist inklusive, die obere Scheibe ist exklusiv. –