2016-11-08 22 views
-6

也许你们当中有谁知道如何编写代码以其他方式在python:return [a for a,b in zip(s,previous_function(s)) if b]如何在Python中重写这个列表理解?

+0

与列表理解的一个常见错误是试图阅读倒退,例如在这种情况下,首先查看'if b',然后'在下一个'中查找a,b in ...'。事实上,列表理解应该从左到右阅读,除了表达的开头。所以这应该被解释为'首先是a,b ...,然后是'如果b'。 –

回答

2

这是列表理解等同于:

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

@Kesha:[接受我的回答](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)如果有帮助,其他人将来也会参考同样的问题。 :-) –