Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Der Ausdruck ist eine List comprehension, was eine leichte Möglichkeit ist Listen zu erstellen.
In deinem Beispiel wird eine Liste mit allen Nodes(wenn ich das richtig seh) erstellt, die dem XPath-Pattern entsprechen. Ohne List comprehension:
self.edit_link = []
for link in etree.parse(StringIO.StringIO(inhalt)).xpath("/a:entry/a:link[@rel='edit']/@href", namespaces=NAMESPACES):
self.edit_link.append(link)
und damit ein array zu füllen.
Python ist sehr gewöhnungsbedürftig für mich
aber interessant.
1. Lies dir am besten mal in der Dokumentation durch, was List Comprehensions sind. Im Prinzip hast du zwar recht, aber irgendwo auch doch nicht :p
2. Dürfte das Gewöhnen gar nicht mal so schwer fallen, ist viel angenehmer als C++
Ich merk mir das so: Das was am Ende "appendet" werden soll, kommt an den Anfang. Alles, was danach kommt, ist eigentlich nur runterschreiben ohne Doppelpunkte und Einrückungen. Oft mache ich mir zuerst eine Variante mit Einrückungen, die ich dann später in List Comprehension umwandle.
Man kann sogar bestimmen, welche Werte aus der Liste (hier: range) verwendet werden sollen, man kann mit diesen auch unmittelbar Berechnungen durchführen.