Für Arrays und Listen in Python und Numpy sind die folgenden Zeilen äquivalent:
%Vor%und:
%Vor% Ich bin an der Bestellung der Artikelliste interessiert. In einigen Beispielen, die ich ausprobiert habe, sind sie identisch, aber ist es garantiert ? Zum Beispiel weiß ich, dass die Anweisung foreach
in C # keine Reihenfolge garantiert, und dass ich vorsichtig damit sein sollte.
Es ist garantiert für Listen. Ich denke, das relevantere Python parallel zu Ihrem C # Beispiel wäre, über die Schlüssel in einem Wörterbuch zu iterieren, was NICHT garantiert ist, in irgendeiner Reihenfolge zu sein.
%Vor% Die for <element> in <iterable>
Struktur sorgt nur dafür, dass die iterable
eine next()
Funktion liefert, die etwas zurückgibt. Es gibt keine allgemeine Garantie, dass diese Elemente in beliebiger Reihenfolge über die Domäne der for..in
-Anweisung zurückgegeben werden. Listen sind ein Sonderfall.
Ja, es ist vollkommen garantiert. for item in myarray
(wobei myarray
eine Sequenz ist, die Arrays von numpy, eingebaute Listen, Pythons array.arrays, etc usw. enthält), ist in Python tatsächlich äquivalent zu:
für eine Phantomvariable _aux
;-). Übrigens, beide Konstrukte entsprechen auch
Ja, die Python-Sprachreferenz garantiert dies (Hervorhebung ist mein):
%Vor%"Die Suite wird dann für jeden von der Iterator, in der Reihenfolge aufsteigender Indizes . "