Python формат для списка (в одной строке) - PullRequest
0 голосов
/ 18 июня 2020

Я изучаю, как вывести список python в отформатированном виде в одной строке: позвольте мне объяснить, что я имею в виду. Предположим, у меня есть список «x».

x=[1.11111, 2.22222, 3.33333]
print(3*"%f4.2" % (x))

TypeError: must be real number, not list

Ожидаемый результат:

[1.11, 2.22, 3.33]

Необязательно, я могу сделать что-то вроде:

[print("%4.2f" % xx) for xx in x]

, но вывод находится в отдельной строке:

Например, в fortran (для массивов) вы можете сделать:

write(6,'3(f4.2)')x

и все будет отображаться в одной строке.

Что-нибудь подобное для списков python?

1 Ответ

1 голос
/ 18 июня 2020

Вы печатаете в понимании списка. Вы должны распечатать список, созданный с пониманием списка.

>>> print(["%4.2f" % xx for xx in x])
['1.11', '2.22', '3.33']

Но это все равно будут строки, потому что вы используете форматирование строк. Чтобы получить числа (числа с плавающей запятой), вы можете использовать функцию round ():

>>> print([round(xx, 2) for xx in x])
[1.11, 2.22, 3.33]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...