Python - 将列表中的数据添加到 table 时出错

Python - Error when adding data from list to a table

我有一个包含几条记录的列表:

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

我正在尝试创建一个循环并将它们添加到 table 中,如下所示:

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

下面在最后一行抛出一个IndexError: list index out of range,想知道我哪里错了。

首先,当遍历 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

我用你的旧 for 循环来证明这不是导致错误的原因,但我知道 range(len()) 是一种不好的做法:它使代码更难阅读。

我不确定 table 使用的是哪种数据结构,但请查阅相关文档并了解应如何添加新单元格。