Nehmen wir an, ich habe ein Wörterbuch, in dem die Schlüssel ganzen Zahlen zugeordnet sind wie:
d = {'key1': 1,'key2': 14,'key3': 47}
Gibt es eine syntaktisch minimalistische Möglichkeit, die Summe der Werte in d
-d.h. 62
in diesem Fall?
Nehmen wir an, ich habe ein Wörterbuch, in dem die Schlüssel ganzen Zahlen zugeordnet sind wie:
d = {'key1': 1,'key2': 14,'key3': 47}
Gibt es eine syntaktisch minimalistische Möglichkeit, die Summe der Werte in d
-d.h. 62
in diesem Fall?
In Python 2 können Sie vermeiden, eine temporäre Kopie aller Werte zu erstellen, indem Sie die itervalues()
dictionary-Methode, die einen Iterator der Schlüssel des Wörterbuchs zurückgibt:
sum(d.itervalues())
In Python 3 können Sie einfach d.values()
weil diese Methode geändert wurde, um dies zu tun (und itervalues()
wurde entfernt, da sie nicht mehr benötigt wurde).
Um es einfacher zu machen, versionsunabhängigen Code zu schreiben, der immer über die Werte der Schlüssel des Wörterbuchs iteriert, kann eine Hilfsfunktion hilfreich sein:
import sys
def itervalues(d):
return iter(getattr(d, ('itervalues', 'values')[sys.version_info[0]>2])())
sum(itervalues(d))
Dies ist im Wesentlichen der Inhalt von Benjamin Petersons six
Modul tut.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.