Heim  >  Artikel  >  Backend-Entwicklung  >  Was sind Iteration und Iterationsobjekte in Python?

Was sind Iteration und Iterationsobjekte in Python?

乌拉乌拉~
乌拉乌拉~Original
2018-08-22 16:18:044063Durchsuche

Im folgenden Artikel erfahren wir mehr über Iteration in Python. Verstehen Sie, was Iteration bedeutet und welche Rolle sie bei der Python-Programmierung spielen kann.

Was ist Iteration in Python?

Wenn eine Liste oder ein Tupel angegeben ist, können wir die -Liste oder das Tupel durch eine for-Schleife durchlaufen. Diese Art von Durchlauf wird Iteration (Iteration) genannt.

(In Python erfolgt die Iteration durch for... in)

Die for-Schleife von Python ist abstrakter als die for-Schleife von C, da die for-Schleife von Python nicht verwendet werden kann nur auf Listen oder Tupeln, sondern auch auf anderen iterierbaren Objekten.

(Objekte, die direkt in for-Schleifen verwendet werden können, werden zusammenfassend als iterierbare Objekte (Iterable) bezeichnet, z. B. list, tuple, dict, set, str usw.)

Liste Obwohl dieser Datentyp Indizes hat, haben viele andere Datentypen keine Indizes. Solange es sich jedoch um Pythons Iterierbares Objekt handelt, kann es unabhängig davon iteriert werden hat einen Index oder nicht, zum Beispiel kann dict iteriert werden:

>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> for key in d:...     print(key)
...
a
c
b

Da dict nicht in einer Listenreihenfolge gespeichert wird, ist die Reihenfolge der iterierten Ergebnisse wahrscheinlich unterschiedlich.

Standardmäßig iteriert dict über Schlüssel. Wenn Sie den Wert iterieren möchten, können Sie for value in d.values() verwenden. Wenn Sie Schlüssel und Wert gleichzeitig iterieren möchten, können Sie for k, v in d.items() verwenden.

Da Strings auch iterierbare Objekte sind, können sie auch in for-Schleifen verwendet werden:

>>> for ch in 'ABC':
...     print(ch)
...ABC

Wenn wir also for-Schleifen verwenden, solange sie auf ein iterierbares Objekt wirken, die for-Schleife Es kann normal ausgeführt werden und es ist uns egal, ob das Objekt eine Liste oder ein anderer Datentyp ist.

Wie kann man also feststellen, ob ein Objekt ein iterierbares Objekt ist? Die Methode besteht darin, anhand des Iterable-Typs des Sammlungsmoduls zu urteilen:

>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False

Die letzte kleine Frage: Was ist, wenn Sie für die Liste eine Java-ähnliche Indexschleife implementieren möchten? Die in Python integrierte Aufzählungsfunktion kann eine Liste in ein Index-Element-Paar umwandeln, sodass der Index und das Element selbst gleichzeitig in einer for-Schleife iteriert werden können:

>>> for i, value in enumerate(['A', 'B', 'C']):
...     print(i, value)
...
0 A
1 B
2 C

In der obigen for-Schleife Auf zwei Variablen wird gleichzeitig verwiesen. Dies ist in Python sehr häufig, wie zum Beispiel der folgende Code:

>>> for x, y in [(1, 1), (2, 4), (3, 9)]:
...     print(x, y)
...
1 1
2 4
3 9

Das Obige ist der gesamte in diesem Artikel beschriebene Inhalt. In diesem Artikel wird hauptsächlich die zugehörige Iteration vorgestellt und Iterationsobjekte in Python Wissen, ich hoffe, Sie können die Informationen verwenden, um den obigen Inhalt zu verstehen. Ich hoffe, dass das, was ich in diesem Artikel beschrieben habe, für Sie hilfreich ist und Ihnen das Erlernen von Python erleichtert.

Weitere Informationen zu diesem Thema finden Sie in der Spalte Python-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonWas sind Iteration und Iterationsobjekte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn