Angenommen, ich habe eine Liste, die ich nicht zurückgeben möchte, sondern die Werte liefert. Was ist der pythischste Weg, das zu tun?Wie pythonal alle Werte aus einer Liste ergeben?
Hier ist was ich meine. Dank einiger nicht-fauler Berechnungen habe ich die Liste ['a', 'b', 'c', 'd']
berechnet, aber mein Code durch das Projekt verwendet Lazy-Berechnung, daher möchte ich Werte von meiner Funktion liefern, anstatt die gesamte Liste zurückzugeben.
Ich schrieb es zur Zeit wie folgt:
my_list = ['a', 'b', 'c', 'd']
for item in my_list:
yield item
Aber das mir nicht das Gefühl pythonic.
Warum Müssen Sie das tun, können Sie "für x in Container" verwenden, wo Container eine Liste oder Container ist ein Iterator ... die Syntax ändert sich nicht unabhängig vom Typ, also warum ist es wichtig, ob es eine Liste ist oder ein Iterator? Sie müssen immer noch an der Liste hängen, um davon zu profitieren, also geben Sie einfach die Liste weiter. –
Randbemerkung: mit "Liste" werden viele Leute es wegen des führenden Großbuchstabens als einen Klassennamen betrachten (siehe PEP 8). Sie könnten "list_" oder "my_list" usw. verwenden. – EOL
EOL, ich weiß Ihre Bemerkung zu schätzen. Vielen Dank. – bodacydo