Я хочу распечатать список чисел, но я хочу отформатировать каждого члена списка, прежде чем он будет распечатан. Например,
theList=[1.343465432, 7.423334343, 6.967997797, 4.5522577]
Я хочу следующий вывод, распечатанный данный вышеупомянутый список как вход:
[1.34, 7.42, 6.97, 4.55]
Для любого члена списка я знаю, что могу отформатировать его при помощи
print "%.2f" % member
Существует ли команда/функция, которая может сделать это для целого списка? Я могу записать один, но задавался вопросом, существуете ли Вы уже.
Если вы просто хотите распечатать числа, вы можете использовать простой цикл:
for member in theList:
print "%.2f" % member
Если вы хотите сохранить результат на потом, вы можете использовать список понимание:
formattedList = ["%.2f" % member for member in theList]
Затем вы можете распечатать этот список, чтобы получить результат, как в вашем вопросе:
print formattedList
Обратите внимание, что %
устарел. Если вы используете Python 2.6 или новее, предпочтите использовать формат
.
Вы можете использовать понимание списка, объединение и некоторые операции со строками, как показано ниже:
>>> theList=[1.343465432, 7.423334343, 6.967997797, 4.5522577]
>>> def format(l):
... return "["+", ".join(["%.2f" % x for x in l])+"]"
...
>>> format(theList)
'[1.34, 7.42, 6.97, 4.55]'
Вы можете использовать функцию карты
l2 = map(lambda n: "%.2f" % n, l)