For循环有一个范围



所以我正在写一个python代码,我想有一个for循环,从第二项开始计数(增量为1)。这样做的目的是比较列表中是否有任何元素匹配或包含在第一个元素中。

这是我到目前为止得到的:

            tempStr = list500[0]
            for item in list500(1,len(list500)):
                if(tempStr in item):
                    numWrong = numWrong - 1
                    amount540 = amount540 - 1

然而,代码不起作用,因为range选项对列表不起作用。有没有一种方法可以在for循环中为列表使用range ?

您可以使用下面的代码获得列表的子集。

        tempStr = list500[0]
        for item in list500[1:]:
            if(tempStr in item):
                numWrong = numWrong - 1
                amount540 = amount540 - 1

[1:]告诉Python使用数组的所有元素,除了第一个元素。这个答案有更多关于列表切片的信息。

使用函数:

search_linear(mainValues, target)

这是你正在寻找的算法:http://en.wikipedia.org/wiki/Linear_search

您所需要做的就是将起始点设置为+1以便跳过第一个索引,然后使用array[0]调用第一个索引作为目标值。

def search_linear(MainValues, Target):
    result = []
    for w in Target:
        if (search_linear(MainValues, w) < 0):
            result.append(w)
    return result

相关内容

最新更新