2014-06-26 121 views
0

所以我正在寫一個Python代碼,我想有一個for循環計數從第二項(增量1)。其目的是比較列表中是否有與第一個元素匹配或包含的元素。對於循環python有一個範圍

這裏是我到目前爲止有:

  tempStr = list500[0] 

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

但是代碼不工作,因爲範圍選項不適用於列表工作。有沒有辦法在for循環中使用範圍列表?

回答

2

您可以使用下面的代碼獲取列表的子集。

 tempStr = list500[0] 

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

[1:]告訴Python中使用的數組的所有元素,除了第一個元素。 This answer有關於列表切片的更多信息。

+0

非常感謝你,它不再顯示錯誤。請爲我的問題投票,以便我可以爲其他人投票 –

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 
+1

我不認爲'search_linear'是一個內置的Python函數。 – DSM

+0

所以我做 for search_linear(1,list500): –

+0

是的,我的壞。這是你的算法。 – Andrew