Python:用于不迭代列表中的每个值

时间:2019-03-09 18:50:08

标签: python

我的一种方法遇到非常不寻常的问题。由于某种原因,我的for循环正在跳过一个值。这是我的代码:

def getPossVals(自己,工作分配):

    possVals = self.domain

    if assignment is not None:
        for item in assignment:
            for constraint in self.constraints:
                if item[0] is constraint.var[0]:

                    print(possVals) # print statement for testing

                    # this is the problematic for loop
                    for val in possVals:
                        print(val) # print statement for testing
                        if not self.checkVal(item[1], val, constraint.op):
                            possVals.remove(val)

                elif item[0] is constraint.var[1]:
                    for val in possVals:
                        if not self.checkVal(val, item[1], constraint.op):
                            possVals.remove(val)

    return possVals

使用测试用例时,我得到以下终端输出:

[1、2、3、4、5]

1 2 3 5

我从来没有遇到过这样的问题,也找不到其他人遇到这样的问题。有些人也有类似的问题,但是if语句通常是一个问题。我的print语句在任何条件语句之前,但仍会跳过值4。我们将不胜感激。

0 个答案:

没有答案