为可变数量的输入

时间:2017-05-11 11:46:47

标签: python pretty-print

如果我有一个3元组的花车,并且我想打印它们格式化,我可以这样做:

print('{:.2f} {:.2f} {:.2f}'.format(*my_tuple))

如果我有一个n元组的浮点数,我可以使用地图并实现相同的格式:

print(*map(lambda x: '{:.2f}'.format(x), my-tuple))

我想知道,如果有一种方法可以更改print函数本身,以便它已经为浮动执行格式化我想要而无需任何额外的干预。我在文档中找不到任何相关内容。

我想要一个简单的 print(*my-tuple) ,如果元组中的所有术语都不是浮点数,那么它也会起作用。

我在问这个问题,因为看起来我应该能够调整print,所以我觉得我在这里错过了一些简单的东西。

1 个答案:

答案 0 :(得分:1)

为什么不简单地定义自己的?像这样:

(blank)

毕竟你不想改变或重新定义def my_print(data): print(', '.join('{:.2f}'.format(x) if type(x)==float else str(x) for x in data)) my_print((1.23, 51212., 5.151252, 1.25, 125.1545, .5314451, 5.1251, 5,.125 , 'sdgsdgdsg')) # prints: # 1.23, 51212.00, 5.15, 1.25, 125.15, 0.53, 5.13, 5, 0.12, sdgsdgdsg 的工作方式,你不需要......