Python - tuple index out of range

2024-05-19 12:03:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个程序,以表格的形式显示有关国家的信息。当我有3个国家时,它工作得很好,但是将其更改为10(并相应地调整所有必要的代码)导致了行中的错误“Tuple index out of range”:

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))

Tags: of代码程序信息formatindex错误range
2条回答

作为对jon141的提问: 我也面临着这个问题,我试图通过循环一个列的一个项目(我传递一个二维数组)来解决这个问题,然后在此基础上构建字符串。 所以我最后得到了一条像

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

我要格式化的元素放在一个元组中。 但当我这么做的时候

template.format(tuple_variable)

它抛出一个错误,元组索引超出范围

可能是因为它现在正在向函数传递一个元组的元组,这个函数有一个元素,元组

我还没想好怎么解决这个问题,但是请按照thread 如果你需要更多的信息。

您需要为您的格式槽传递匹配数量的参数。您的格式字符串有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()调用成功。

相关问题 更多 >

    热门问题