2013-10-25 306 views
0

列表列表正在踢我的屁股。我已經做了大量的研究,試圖找到如何更新列表中的第n個列表的第n個元素列表中的Python數據結構。我看到很多關於更新第n個元素或將列表組合到現有列表中的建議,但沒有更新嵌套列表中的特定元素。更新嵌套列表中第n個元素的第n個元素

我的實際代碼通過搜索tid的文件讀取:somestring然後將tid:somestring添加到集合中。我現在想循環遍歷集合,並將每個事件的值設爲0。我在代碼中的下一步將爲第一個y添加另一個搜索項目,以查找先前放置在第y個y位置(對於其餘搜索值)的相應tid值。我計劃增加一個計數器來移動索引值x ...本質上,我需要更新一個二維數組。有9個值將在y軸上。 X軸取決於tid唯一實例的數量:somestring,每個文件的值爲10,000或更多。

如何更新/插入或以其他方式更改列表中第n個列表的第n個項目?

samlfile="2013-08-18 22:47:55,248 tid:b7c31fbac DEBUG" #I have a file with 10000+ "tid" 
tidset = set() 
tidcount = len(tidset) 
tidassert = [[0 for x in range(tidcount)] for y in range(9)] 
xcount = 0 


for line in samlfile: 

    if "tid:" in line: 
     str=line 
     tid = re.search(r'(tid:.*?)(?=)', str) 
     if tid.group() not in tidset: 
      tidset.add(tid.group()) 
      tid = tid.group() 
      for tid in tidset: 
       tidassert[xcount][0] = tid 
      xcount = xcount + 1 

     print tidassert 

回答

1
try: 

    _list[n][n] = 'new val' 

except IndexError: 

    print 'No such index' 
+0

謝謝你的resonse,但我基本上做的是,在我的代碼。 tidassert [xcount] [0] = tid,沒有錯誤處理。除非,我誤解了這個建議。如果是這樣,你能詳細說明一下嗎? –

+0

你的機器是'更新/插入或以其他方式改變第n個列表的第n個項目',如果沒有這樣的'indices'或'不可訪問的'它會拋出'IndexError'這個試圖修改值。 –