IndexError: индекс списка вне диапазона python вставка в массив 2d (список) - PullRequest
1 голос
/ 30 марта 2020

Эй, ребята, у меня есть вопрос о 2d списках в python, это мой код:

results = []
with open("p100001.psv") as csvfile:
    reader = csv.reader(csvfile)
    for row in reader: 
        results.append((str(row).split("|")))




final=[[[]]]

k = 0
while k < (len(results)-7):
    for i in range(1+k,7+k):
        h = 0
        for j in range(0,41):
            final[k].insert((41*(h)+j),results[i][j])
        h = h+1    
    k = k+1    

, когда k = 0 и код вставки final [0] все в порядке и код работает, но когда код продолжается и k = 1 я столкнулся с этой ошибкой для окончательного [1]: IndexError: список индекса вне диапазона

1 Ответ

0 голосов
/ 30 марта 2020

Вы не можете вставить в final [k], не имея элемента в списке. Таким образом, вы должны вставлять пустой список в окончательный список на каждой итерации.

final=[]
k = 0
while k < (len(results)-7):
    final.append([[]])
    for i in range(1+k,7+k):
        h = 0
        for j in range(0,41):
            final[k].insert((41*(h)+j),results[i][j])
        h = h+1    
    k = k+1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...