Wie kann ich verschachtelte Listenverständnisse in entsprechende for-Schleifen in Python übersetzen?

DDD
Freigeben: 2024-10-29 07:35:02
Original
284 Leute haben es durchsucht

How can I translate nested list comprehensions into equivalent for loops in Python?

Verschachtelte Listenverständnisse verstehen

Verschachtelte Listenverständnisse bieten eine prägnante und leistungsstarke Möglichkeit, Datenstrukturen in Python zu transformieren und zu kombinieren. Die grundlegende Syntax besteht darin, mehrere for-Ausdrücke in eckige Klammern zu setzen, wobei jeder for-Ausdruck in einem eigenen Satz von Formeln eingeschlossen ist.

Übersetzen in äquivalente For-Schleifen

To Um verschachtelte Listenverständnisse zu verstehen, ist es hilfreich, sie in die entsprechende for-Schleifenform zu übersetzen. Betrachten Sie das Beispiel:

[(min([row[i] for row in rows]), max([row[i] for row in rows])) for i in range(len(rows[0]))]
Nach dem Login kopieren

Dies kann wie folgt als for-Schleife ausgedrückt werden:

result = []
for i in range(len(rows[0])):
  inner_result = []
  for row in rows:
    inner_result.append(row[i])
  inner_result2 = []
  for row in rows:
    inner_result2.append(row[i])
  tuple = (min(inner_result), max(inner_result2))
  result.append(tuple)
Nach dem Login kopieren

Verallgemeinerung des Musters

Das Obige Das Beispiel folgt einem allgemeinen Muster:

[exp2([exp1 for x in xSet]) for y in ySet]
Nach dem Login kopieren

Äquivalent zur Schleife:

result = []
for y in ySet:
  inner_result = []
  for x in xSet:
    inner_result.append(exp1)
  exp2_result = exp2(inner_result)
  result.append(exp2_result)
Nach dem Login kopieren

Andere Beispiele

  • [exp1 für x in xSet für y in ySet] entspricht result = []; für x in xSet: für y in ySet: result.append(exp1)
  • [[exp1 für x in xSet] für y in ySet] ist äquivalent zu result = []; für y in ySet: inner_result = []; für x in xSet: inner_result.append(exp1); result.append(inner_result)

Das obige ist der detaillierte Inhalt vonWie kann ich verschachtelte Listenverständnisse in entsprechende for-Schleifen in Python übersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage