Als «list-comprehension» getaggte Fragen

Ein syntaktisches Konstrukt, das eine übersichtliche Möglichkeit bietet, Listen in einem Stil zu erstellen, der der mathematischen Set-Builder-Notation ähnelt. Da mehrere Sprachen das Listenverständnis unterstützen, verwenden Sie dieses Tag bitte in Verbindung mit dem Tag einer Programmiersprache.



6
Das Listenverständnis bindet Namen auch nach dem Umfang des Verstehens neu. Ist das richtig?
Das Verständnis hat einige unerwartete Wechselwirkungen mit dem Umfang. Ist das das erwartete Verhalten? Ich habe eine Methode: def leave_room(self, uid): u = self.user_by_id(uid) r = self.rooms[u.rid] other_uids = [ouid for ouid in r.users_by_id.keys() if ouid != u.uid] other_us = [self.user_by_id(uid) for uid in other_uids] r.remove_user(uid) # OOPS! uid has …

10
Pythonische Methode zum Drucken von Listenelementen
Ich würde gerne wissen, ob es einen besseren Weg gibt, alle Objekte in einer Python-Liste zu drucken als diesen: myList = [Person("Foo"), Person("Bar")] print("\n".join(map(str, myList))) Foo Bar Ich lese so ist nicht wirklich gut: myList = [Person("Foo"), Person("Bar")] for p in myList: print(p) Gibt es nicht so etwas wie: print(p) …

7
Ist es pythonisch, Listenverständnisse nur für Nebenwirkungen zu verwenden?
Denken Sie an eine Funktion, die ich wegen ihrer Nebenwirkungen aufrufe, und geben Sie keine Werte zurück (z. B. Drucken auf dem Bildschirm, Aktualisieren der Benutzeroberfläche, Drucken in eine Datei usw.). def fun_with_side_effects(x): ...side effects... return y Ist es nun pythonisch , Listenverständnisse zu verwenden, um diese Funktion aufzurufen: [fun_with_side_effects(x) …

5
Listenverständnis mit if-Anweisung
Ich möchte 2 Iterables vergleichen und die Elemente drucken, die in beiden Iterables erscheinen. >>> a = ('q', 'r') >>> b = ('q') # Iterate over a. If y not in b, print y. # I want to see ['r'] printed. >>> print([ y if y not in b for …

2
Sind For-Loops bei Pandas wirklich schlecht? Wann sollte es mich interessieren?
Sind forLoops wirklich "schlecht"? Wenn nicht, in welchen Situationen wären sie besser als ein konventionellerer "vektorisierter" Ansatz? 1 Ich bin mit dem Konzept der "Vektorisierung" vertraut und weiß, wie Pandas vektorisierte Techniken einsetzt, um die Berechnung zu beschleunigen. Vektorisierte Funktionen senden Vorgänge über die gesamte Serie oder DataFrame, um Beschleunigungen …



17
Listenverständnis in Ruby
Um das Äquivalent zum Verständnis der Python-Liste zu erreichen, gehe ich wie folgt vor: some_array.select{|x| x % 2 == 0 }.collect{|x| x * 3} Gibt es einen besseren Weg, dies zu tun ... vielleicht mit einem Methodenaufruf?


3
Was bedeuten Backticks für den Python-Interpreter: `num`
Ich spiele mit Listenverständnissen herum und bin auf einer anderen Seite auf diesen kleinen Ausschnitt gestoßen: return ''.join([`num` for num in xrange(loop_count)]) Ich habe ein paar Minuten damit verbracht, die Funktion zu replizieren (durch Eingabe), bevor ich merkte, dass das `num`Bit sie kaputt machte. Was bewirkt das Einfügen einer Anweisung …



3
Verschachtelt für Schleifen mit Listenverständnis
Wenn ich zwei Zeichenfolgen hätte 'abc'und 'def', könnte ich alle Kombinationen davon mit zwei for-Schleifen erhalten: for j in s1: for k in s2: print(j, k) Ich möchte dies jedoch mithilfe des Listenverständnisses tun können. Ich habe viele Möglichkeiten ausprobiert, aber es nie geschafft, es zu bekommen. Weiß jemand, wie …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.