int 在 while 循环中不可迭代

时间:2021-03-06 13:15:45

标签: python integer

def remove_all_before(items: list, border: int) -> Iterable:
    i = 0
    solve = items
    while True:
        if items[i] == border:
            return solve
            break
        else:
            solve = solve.pop(i)
            i = i + 1

错误:'int' 对象不可迭代 如果我删除solve = solve.pop(i) 一切正常 怎么了?

1 个答案:

答案 0 :(得分:0)

pop() 方法从列表中删除给定索引处的项目并返回删除的项目。

由于您将其分配回应该是列表的 solve,因此当您尝试使用 items[i] 通过索引访问它时会出现错误。

改变这个:

solve = solve.pop(i)

类似于:

poppedElement = solve.pop(i)