Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置列表中所有元素的格式_Python_List_String Formatting_Python 2.x - Fatal编程技术网

Python 设置列表中所有元素的格式

Python 设置列表中所有元素的格式,python,list,string-formatting,python-2.x,Python,List,String Formatting,Python 2.x,我想打印一个数字列表,但我想在打印之前格式化列表中的每个成员。 比如说, theList=[1.343465432, 7.423334343, 6.967997797, 4.5522577] 根据上述列表,我希望打印以下输出作为输入: [1.34, 7.42, 6.97, 4.55] 对于列表中的任何一个成员,我知道我可以使用 print "%.2f" % member 是否有可以对整个列表执行此操作的命令/函数?我可以写一个,但想知道是否已经存在一个。如果您只想打印数字,可以使用一个简单

我想打印一个数字列表,但我想在打印之前格式化列表中的每个成员。 比如说,

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]'

您可以使用map函数

l2 = map(lambda n: "%.2f" % n, l)

对于Python 3.5.1,您可以使用:

>>> theList = [1.343465432, 7.423334343, 6.967997797, 4.5522577]
>>> strFormat = len(theList) * '{:10f} '
>>> formattedList = strFormat.format(*theList)
>>> print(formattedList)
结果是:

'  1.343465   7.423334   6.967998   4.552258 '

使用“.format()和生成器表达式的非常简短的解决方案:

>>> theList=[1.343465432, 7.423334343, 6.967997797, 4.5522577]

>>> print(['{:.2f}'.format(item) for item in theList])

['1.34', '7.42', '6.97', '4.55']

如果不需要保存值,请尝试此选项:

list = [0.34555, 0.2323456, 0.6234232, 0.45234234]
for member in list:
    form='{:.1%}'.format(member)
    print(form)
输出:

34.6%
23.2%
62.3%
45.2%

谢谢这太棒了。我还不知道如何使用
格式。但是我会学习的。