对于具有范围的循环python

时间:2014-06-26 17:25:57

标签: python-3.x

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

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

            tempStr = list500[0]

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

但是代码不起作用,因为范围选项不适用于列表。有没有办法在for循环中使用列表范围?

2 个答案:

答案 0 :(得分:2)

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

        tempStr = list500[0]

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

[1:]告诉Python使用除第一个元素之外的数组的所有元素。 This answer有关于列表切片的更多信息。

答案 1 :(得分:1)

使用功能:

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