我很抱歉,我问这么愚蠢的问题 但是你可以帮助我格式化列表清单("%。2f"),例如:
a=[[1.343465432, 7.423334343], [6.967997797, 4.5522577]]
我用过:
for x in a:
a = ["%.2f" % i for i in x]
print (a)
OUT:
['1.34', '7.42']
['6.97', '4.55']
但我想得到我的清单清单 OUT:
[['1.34', '7.42'] ,['6.97', '4.55']]
答案 0 :(得分:2)
以更简单的方式,您可以使用列表理解来实现相同的目标:
append
事实上甚至你的代码都没问题。您只需要{{1}}要打印到列表中的值
,而不是打印答案 1 :(得分:1)
更通用的解决方案只需要几行。它递归地格式化数字,列表,任何嵌套深度的列表列表。
def fmt(data):
if isinstance(data, list):
return [fmt(x) for x in data]
try:
return "%.2f" % data
except TypeError:
return data
a=[[1.343465432, 7.423334343], [6.967997797, 4.5522577], [10, [20, 30]], 40]
print(fmt(a))
# [['1.34', '7.42'], ['6.97', '4.55'], ['10.00', ['20.00', '30.00']], '40.00']