' IndexError:元组索引超出范围' strith str.format

时间:2015-01-08 15:10:07

标签: python string formatting

我做错了什么?

print('script executed in {time}{1:.2f} seconds'.format(time=elapsed_time))

我明白了:

IndexError: tuple index out of range

预期产出:

script executed in 0.12 seconds

2 个答案:

答案 0 :(得分:7)

您创建了两个格式字段:

print('script executed in {time}{1:.2f} seconds'.format(time=elapsed_time))
#                         ^1    ^2

但只向str.format提供了一个参数:

print('script executed in {time}{1:.2f} seconds'.format(time=elapsed_time))
#                                                       ^1

您需要使格式字段的数量与参数的数量相匹配:

print('script executed in {time:.2f} seconds'.format(time=elapsed_time))

答案 1 :(得分:1)

你可以做到

>>> 'script executed in {:.2f} seconds'.format(elapsed_time)
'script executed in 0.12 seconds'

在原始代码中,您有两个{}字段,但只提供一个参数,这就是为什么它给出了“元组索引超出范围”错误。