Формат все элементы списка

Я хочу распечатать список чисел, но я хочу отформатировать каждого члена списка, прежде чем он будет распечатан. Например,

theList=[1.343465432, 7.423334343, 6.967997797, 4.5522577]

Я хочу следующий вывод, распечатанный данный вышеупомянутый список как вход:

[1.34, 7.42, 6.97, 4.55]

Для любого члена списка я знаю, что могу отформатировать его при помощи

print "%.2f" % member

Существует ли команда/функция, которая может сделать это для целого списка? Я могу записать один, но задавался вопросом, существуете ли Вы уже.

14
задан Michael 31 January 2018 в 18:06
поделиться

3 ответа

Если вы просто хотите распечатать числа, вы можете использовать простой цикл:

for member in theList:
    print "%.2f" % member

Если вы хотите сохранить результат на потом, вы можете использовать список понимание:

formattedList = ["%.2f" % member for member in theList]

Затем вы можете распечатать этот список, чтобы получить результат, как в вашем вопросе:

print formattedList

Обратите внимание, что % устарел. Если вы используете Python 2.6 или новее, предпочтите использовать формат .

19
ответ дан 1 December 2019 в 07:39
поделиться

Вы можете использовать понимание списка, объединение и некоторые операции со строками, как показано ниже:

>>> 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]'
4
ответ дан 1 December 2019 в 07:39
поделиться

Вы можете использовать функцию карты

l2 = map(lambda n: "%.2f" % n, l)
3
ответ дан 1 December 2019 в 07:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: