当我遍历我的列表时,返回列表索引超出范围

问题描述 投票:0回答:1
inp = [1,2,3,5,6]

def o(k):

    x =[]
    for item in k:
        if item != k[item-1] and item != item+1:
            x.append(item)

当我尝试使用我的输入运行代码时,它只是说“列表超出范围”

python list range
1个回答
0
投票

您好基于您的代码我明白您正在假设item是数组的索引。但这不是for item in k:循环在python中的工作方式。在每个迭代项上,将是数组的下一个“元素”而不是下一个“索引”。 item != item + 1也没有任何意义,因为它将永远是真的。我想你打算写k[item] != k[item + 1]

© www.soinside.com 2019 - 2024. All rights reserved.