Ich habe ein Python-Skript, das als Eingabe eine Liste von ganzen Zahlen, die ich brauche, um mit vier ganzen Zahlen zu einer Zeit zu arbeiten nimmt. Leider habe ich keine Kontrolle über die Eingabe, sonst würde ich sie als Liste von Vier-Elemente-Tupeln übergeben. Im Moment durchlaufe ich die Liste auf diese Weise:
for i in range(0, len(ints), 4):
# dummy op for example code
foo += ints[i] * ints[i + 1] + ints[i + 2] * ints[i + 3]
Es sieht allerdings sehr nach "C-think" aus, was mich vermuten lässt, dass es einen pythonischeren Weg gibt, mit dieser Situation umzugehen. Die Liste wird nach der Iteration verworfen, so dass sie nicht erhalten bleiben muss. Vielleicht wäre etwas wie dies besser?
while ints:
foo += ints[0] * ints[1] + ints[2] * ints[3]
ints[0:4] = []
Es fühlt sich aber immer noch nicht ganz richtig an :-/
Verwandte Frage: Wie teilt man in Python eine Liste in gleichgroße Teile auf?