2012-07-18 53 views
-2

编辑:问题是由于我的代码的不同部分。我认为这是在for循环在条件匹配的情况下增加python循环

我有一个在Python中循环,是这样的:

for x in OrderedList: 
    if x in ResultList1: 
     print x, '1' 
    elif x in ResultList2: 
     print x, '2' 
    elif x in ResultList3: 
     print x, '3' 

的问题是,如果它发现xResultList1ResultList2,它打印x,'1'x,'2'但我想如果它在ResultList1中找到x,则它将获得x的下一个值,而不是在2和3中查找。

+6

既然你有elif它只应该输入其中一个cases..you可以包括orderedlist所以我们可以看到它或显示该函数的实际输出,因为它几乎肯定不会打印“x” – 2012-07-18 16:40:48

回答

2

你的代码已经做到了。

你可以移动到下一个元素的另一种方法是使用continue

for x in OrderedList: 
    if x in ResultList1: 
     print x, '1' 
     continue 
    if x in ResultList2: 
     print x, '2' 
     continue 
    if x in ResultList3: 
     print x, '3' 
     continue 

但是这是不必要在这里,因为你正在使用elif

+0

好,你给了他的信息...然而,它不会做任何事情,因为他看到的任何行为...因为他已经使用ELIF(如你所说)...他有一些其他的根本缺陷或缺失的元素 – 2012-07-18 16:44:48

+0

对不起,这是一部分更大的程序,我在其他地方遇到了导致此问题的问题。我认为这是for循环。感谢您的回应 – adohertyd 2012-07-18 16:59:32