Я не могу получить доступ к элементу списка - PullRequest
0 голосов
/ 20 апреля 2020

это может быть глупый вопрос, но после выполнения этого кода он выдает эту ошибку

pl.append(a[0])
IndexError: list index out of range

code-

import re

f=open("finetuning.txt", "r")
lines = f.readlines()

pl=[]
discriminator=[]




for line in lines:
    a = re.findall('\d*\.?\d+',line)
    pl.append(a[0])
    discriminator.append(a[1])




print(pl,discriminator)

после выполнения этого кода он выдает эту ошибку-

1 Ответ

1 голос
/ 20 апреля 2020

Возможно, что в строке не было совпадения с регулярным выражением, поэтому a является пустым списком. Если вы хотите получить доступ к списку с индексом 0 или 1, вы должны проверить, достаточно ли длинный список.

import re

f=open("finetuning.txt", "r")
lines = f.readlines()

pl=[]
discriminator=[]




for line in lines:
    a = re.findall('\d*\.?\d+',line)
    if len(a) >= 0:
        pl.append(a[0])
    if len(a) >= 1:
        discriminator.append(a[1])




print(pl,discriminator)
...