Не могу присвоить значение переменной по индексу, постоянно выдает ошибку. IndexError: list index out of range
import csv
k = ['ВС','07.11.2021 14:00','Россия,Премьер-лига',',','Урал - Зенит Санкт-Петербург','12.75','5.95','1.285','2.30','1.69','2.15']
d = ['Урал - Зенит Санкт-Петербург''0:0','0:0']
print(d)
day = ''
date = ''
strana = ''
championat = ''
items = ''
items_1 = ''
comands = ''
p1 = ''
x = ''
p2 = ''
tm = ''
tb = ''
oz = ''
comands2 = ''
for i in k:
day = i[0]
date = i[1]
strana = i[2]
championat = i[3]
comands = i[4]
p1 = i[5]
x = i[6]
p2 = i[9]
tm = i[10]
tb = i[11]
oz = i[11]
intejea = []
for i in d:
comands2 = i[0]
items = i[1]
items_1 = i[2]
if comands == comands2:
intejea = [{
'day': day,
'date': date,
'strana': strana,
'championat': championat,
'items': items,
'items_1': items_1,
'comands': comands,
'p1': p1,
'x': x,
'p2': p2,
'tm': tm,
'tb': tb,
'oz': oz,
}]
print(intejea)
with open('готовый результат', 'a', newline='', encoding='utf-8')as file:
writer = csv.writer(file, delimiter=';')
for i in intejea:
writer.writerow(введите сюда код
[i['day'], i['date'], i['strana'],
i['championat'], i['items'], i['items_1'],
i['comands'], i['p1'], i['x'],
i['p2'], i['tm'], i['tb'], i['oz']])
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Раз вы перебираете k в цикле, используйте не просто список, а список списков:
k = [['ВС','07.11.2021 14:00','Россия,Премьер-лига',',','Урал - Зенит Санкт-Петербург','12.75','5.95','1.285','2.30','1.69','2.15']]
Далее, в k всего 11 элементов, обращение к индексу [11] вызовет ошибку, поскольку нумерация идёт с нуля и допустимы индексы от 0 до 10, разберитесь с нумерацией полей:
tb = i[11]
oz = i[11]
Вообще лучше не присваивать переменные по индексу, а использовать распаковку переменных, тогда переменные сами заполнятся согласно позиции:
day, date, strana, championat, comands, p1, x, _, _, p2, tm, tb, oz = i
Если какие-то поля нужно пропустить, используйте для этого переменную со специальным названием _.