添加值时的格式语法

Format syntax when adding values

我正在尝试使用 format() 将元组的多个值相加。我写了一个函数 returns 一个有 12 个值的元组。

我的元组如下所示:

In[86]results Out[86]: (15.24, 2527.4, 2812.59, 7.87, 2389.72, 1795.39, 594.33, 98.34, 68.84, 60.0, 132, 5)

我一直在像这样打印到标准输出(基于format examples from docs.python.org):

print('-Sponge Yeast: {0[0]}g'.format(results))

print('-Sponge Flour: {0[1]}g'.format(results))

print('-Sponge Water: {0[2]}g'.format(results))

我想打印另一行,即结果中前 3 个值的总和。

以前,我可以这样做:

print('-Total Sponge Weight: {:n}g'.format(a+b+c)) 其中 a, b, c...,i 分别等于 12 个值。

我不想为元组的 12 个值创建 12 个变量,而是想为元组使用单个变量。但是,我怎样才能对元组中的几个值求和并使用 format()? 我试过:

print('-Total Sponge Weight: {0[0] + 0[1] + 0[2]}g'.format(results))

print('-Total Sponge Weight: {:n}g'.format(0.results + 1.results + 2.results))

但这不起作用。我知道我可以简单地让我的函数输出正确的值,我可以将它称为 {0[xx]}。只是想知道是否有另一种方法。

您也许可以使用 pprint。我自己没用过,但它是专为格式化打印数据而设计的。

使用 Python 3 的 f-Strings,这很容易。

values = (1, 2, 3)

In[1]: f'The sum of values is {values[0]+values[1]+values[2]}!

Out[1]: 'The sum of values is 6!