Python - “元组索引超出范围”

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python - “元组索引超出范围”相关的知识,希望对你有一定的参考价值。

我正在编写一个程序,以表格格式显示有关国家/地区的信息。当我有3个国家时,它工作得非常好,但是将其更改为10(并相应地调整所有必要的代码)会导致错误,“元组索引超出范围”:

print("{0:^20}{1:^20}{2:^20}{3:^20}{4:^20}{5:^20}[6:^20}{7:^20}{8:^20}{9:^20}".format(newcountrylist[i].country,newcountrylist[i].currency,newcountrylist[i].exchange))
答案

您需要为格式槽传入匹配数量的参数。您的格式字符串有10个插槽,但您只传递3个值。

减少到4格式的插槽,只有3个.format()参数,显示相同的错误:

>>> '{0:^20}{1:^20}{2:^20}{3:^20}'.format(1, 2, 3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> '{0:^20}{1:^20}{2:^20}{3:^20}'.format(1, 2, 3, 4)
'         1                   2                   3                   4          '

当我通过4个参数时,.format()调用成功。

另一答案

作为jon141的aswer:我也面临这个问题,我试图通过循环一个列的一个项目来解决这个问题(我正在传递一个二维数组),然后根据它构建字符串。所以我最终得到一个字符串

template="{0!s:10}{1!s:15}...{n!s:24}

我要格式化的元素我放入元组。但是当我这样做的时候

template.format(tuple_variable)

它会抛出元组索引超出范围的错误

可能是因为它现在将一个元组的元组传递给函数,该函数有一个元素,即元组

我还没弄清楚如何解决这个问题,但如果您需要更多信息,请关注thread

以上是关于Python - “元组索引超出范围”的主要内容,如果未能解决你的问题,请参考以下文章

如何在python中修复“IndexError:元组索引超出范围”?

IndexError:元组索引超出范围以拆分特征和标签

IndexError:使用 py2exe 时元组索引超出范围

IndexError:元组索引超出范围

Sklearn 线性回归 - “IndexError:元组索引超出范围”

NumPy FFT 元组索引超出范围?