Ломаю голову, который час. Не могу понять, где ступор. Просьба помочь со списком.
Делаю итерацию по списку и добавляю в этот список значения. Соответственно каждый раз в цикле список обновляется, но на каком то этапе выдаёт ошибку, что якобы индекса в списке нет, хотя по логике кода должно работать….
import pprint first_col = { "num": [ [1, "25.01.2004", 1, -1, 1, -1], [2, "01.02.2004", -1, 1, -1, 1], [3, "08.02.2004", 1, -1, 1, 1], [4, "15.02.2004", -1, 1, 1, -1] ] } print(first_col) for i in first_col["num"]: print(i) first_st = i[2] * i[3] * i[4] i.append(first_st) if first_st == i[5]: i.append("g") elif first_st != i[5]: i.append("b") #print(i) print(first_col) #----------------------- for ts in range(6,10,2): for p in range(1,4): print(ts) f = first_col["num"][p][ts] * first_col["num"][p-1][ts] pprint.pprint(first_col) first_col["num"][p].append(f) if f == first_col["num"][p][5]: first_col["num"][p].append("g") elif f != first_col["num"][p][5]: first_col["num"][p].append("b") pprint.pprint(first_col)
****************
выдает ошибку:
Traceback (most recent call last):
line 37, in <module>
f = first_col * first_col
~~~~~~~~~~~~~~~~~~~~~^^^^
IndexError: list index out of range
****************
при итерации индексы по логике добавляются новые, но почему ошибку выдаёт, уже мозг сломал….
Должен вывести:
{'num': [[1, '25.01.2004', 1, -1, 1, -1, -1, 'g'], [2, '01.02.2004', -1, 1, -1, 1, 1, 'g', -1, 'b'], [3, '08.02.2004', 1, -1, 1, 1, -1, 'b', -1, 'b', 1, 'g'], [4, '15.02.2004', -1, 1, 1, -1, -1, 'g', 1, 'b', -1, 'g', -1. 'g']]}
Заранее спасибо!