Python - ошибка при добавлении данных из списка в таблицу - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть список с несколькими записями:

entries = ['Agenda', 'Measure 1', 'Measure 2']

Я пытаюсь создать al oop и добавить их в таблицу, как указано ниже:

for i in range(0, len(entries)):
    table.cell(i, 0).text = entries[i]

Ниже приведено IndexError: list index out of range в последней строке, интересно, где я иду не так.

1 Ответ

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

Перво-наперво, при итерации по range(len(something)) это красный флаг. Должен быть лучший способ.

Если вам нужен как индекс, так и значение, вы можете использовать встроенную функцию enumerate(): for i, val in enumerate(entries):

Полученная ошибка означает, что вы пытаетесь получить доступ к элементу i, который не существует. Элементы списка должны быть доступны просто отлично - возможно, table.cell(i,0) не существует. Вы можете проверить это, попробовав:

for i in range(0, len(entries)):
    print(entries[i]) # works

По сравнению с:

for i in range(0, len(entries)):
    print(table.cell(i, 0).text) # probably doesn't work

Я использовал ваш старый для l oop, чтобы показать, что это не вызывает ошибку, но знаю, что range(len()) это плохая практика: это затрудняет чтение кода.

Я не уверен, какую структуру данных вы используете для table, но посмотрите соответствующую документацию и узнайте, как вам следует это делать. добавить новые ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...