Я пытаюсь использовать функцию str.format()
для печати матрицы в столбцах.Как передать кортеж в 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')
Что я делаю неправильно?
Редактировать: Мне кажется, я знаю, в чем проблема: я передаю кортеж с двумя элементами, который передается функции как кортеж с одним элементом, мой исходный кортеж. Отсюда и эта ошибка. поэтому вопрос в том, как передать этот кортеж функции формата ...
Он также работает в Python 2.x. Вы только пытаетесь напечатать одно значение '{0}', и это то, что вы получаете - значение 'b'. '' {0}, {1} ". Format (b)' fail (как и '' {1} ". Format (b)'). Это не отвечает на вопрос OP. – SiHa