2016-11-08 3 views
-6

vielleicht jemand von euch weiß, wie dieser Code in anderer Weise in Python zu schreiben: return [a for a,b in zip(s,previous_function(s)) if b]Wie kann ich dieses Listenverständnis in Python umschreiben?

+0

Ein häufiger Fehler mit Listenkomprehensionen versucht, sie zu lesen, rückwärts z In diesem Fall betrachten wir 'if b' zuerst, dann' für a, b in ... 'next. Listenkompressen sollten eigentlich von links nach rechts gelesen werden, mit Ausnahme des Ausdrucks ganz am Anfang. Also sollte dies als "für a, b in ..." zuerst, dann "wenn b" gelesen werden. –

Antwort

2

Dies ist das Liste Verständnis entspricht:

my_list = [] 
for a,b in zip(s,previous_function(s)): 
    if b: 
     my_list.append(a) 
return my_list 
+0

@Kesha: [Akzeptiere meine Antwort] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) wenn es half, für andere, die in Zukunft für das gleiche Problem referenzieren . :-) –

Verwandte Themen