2013-10-25 4 views
0

Списки списков пинают мой прикладом. Я провел много исследований, пытаясь найти, как обновить n-й элемент n-го списка в списке списков структуры данных python. Я вижу много советов по обновлению n-го элемента или объединению списков в существующий список, но ничего об обновлении определенного элемента во вложенном списке.Обновить n-й элемент n-го элемента во вложенных списках

Мой фактический код читает файл, который ищет tid: somestring затем добавляет tid: somestring к набору. Теперь я хочу выполнить цикл через набор и сделать это значение 0-м у каждого события. Мой следующий шаг в коде добавит еще один элемент поиска в 1-й y для соответствующего значения tid, которое я ранее разместил в 0-й позиции y (и так далее, для остальных значений поиска). Я планирую увеличивать счетчик для перемещения значения индекса для 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

Ваш moto - это «обновить/вставить или иным образом изменить n-й элемент n-го списка», этот попытается изменить значение, если нет таких «индексов» или «недоступных», он генерирует «IndexError» –

Смежные вопросы