如何将元组传递给 str.format()?

one*_*ijk 0 python string string.format tuples

我正在尝试使用该str.format()函数在列中打印矩阵。

这是出错的行:

>>>> "{!s:4}{!s:5}".format('j',4,3)
'j   4    '
>>>> "{!s:4}{!s:5}".format(b)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
>>> b
('dat', 'is')
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

编辑:我想我知道问题是什么:我传递一个包含两个元素的元组,而不是作为一个包含一个元素的元组传递给函数,我的原始元组。因此出现此错误。所以问题是如何将这个元组传递给格式函数......

unp*_*680 5

如果可以确定元组的长度,则可以解压缩元组。

>>> "{!s:4}{!s:5}".format(*b)
'j   4    '
Run Code Online (Sandbox Code Playgroud)