2014-05-14 55 views
0

我試圖將項目添加到二維數組「組」。我收到錯誤。我知道爲什麼,但我不知道如何解決它。我嘗試過[1] .add組,但它不起作用。陣列組[1]不存在,當我試圖追加。有沒有辦法,只有在需要的時候才能創建這個數組(當試圖追加或添加或插入時)?Python:追加到不存在的數組

def sortResults(results,pattern): 
    ordered=results 
    ordered.sort() 
    groups= [[]] 
    for r in results: 
     print r 
     tuple=evaluate(pattern,r) 
     print(tuple) 
     if tuple[0]==1: 
      groups[0].append(r) 
     elif tuple[0]==2: 
      groups[1].append(r) 
    for group in groups: 
     print(group) 
     for item in group: 
      if item != 0: 
       ordered.remove(item) 
       ordered.append(item) 


    return ordered 

我得到這個錯誤:

groups[1].append(r) 
IndexError: list index out of range 

提前感謝!

+1

爲什麼不使用'groups = [[],[]]'呢?在任何情況下,您總是可以使用異常處理或顯式測試('len len(groups)<2:groups.append([])'')。 –

+0

@MartijnPieters謝謝!它幫助! – user3620512

回答

1

爲什麼不使用:

groups = [[], []] 

,而是如果你要追加到兩組?那麼你不會遇到這個問題。

,如果它仍然是空的您可以隨時再次將其刪除,或者您可以使用異常處理:

elif tuple[0]==2: 
    try: 
     groups[1].append(r) 
    except IndexError: 
     groups.append([r]) 

爲列表中缺少僅僅是一個問題一次