2013-07-19 111 views
-3

我有以下条件,如果条件,for循环后跟if条件, 如何将它们组合在一行中的任何建议?如果条件与for循环混合

for x in ids: 
    if x!=12345 
+0

http://stackoverflow.com/questions/6981717/pythonic-way-to-combine-for-loop-and-if-statement –

+2

不要这样做。把所有东西都放在一条线上是一个坏主意。它杀死可读性,没有任何好处。 –

回答

4
for x in (i for i in ids if i!=12345): 
    # do stuff 

In [37]: ids 
Out[37]: [12343, 12344, 12345, 12346, 12347, 12348] 

In [38]: for x in (i for i in ids if i!=12345): 
    ....:  print x 
    ....:  
12343 
12344 
12346 
12347 
12348 
+0

以上无法正常工作..我仍然看到for循环正在进入事件虽然我= 12345 – user2125827

+0

我有一种感觉,你正在尝试做一些比你最初让步更复杂的东西。你为什么不编辑一个例子到你的文章,我会更新我的答案。 – inspectorG4dget

+0

no..nothing那种..我只是不想进入循环当我= 12345 – user2125827