我早在python的学习阶段,我花了大约一小时左右的时间试图找到一种更有效的方法来格式化多个整数变量以拥有数千个分隔符 . 这个方法有效,但我不能动摇这种感觉,如果你做了4次同样的事情,可能有更好的方法去做 .
if check > 999:
check = "{:,}".format(check)
if number > 999:
number = "{:,}".format(number)
if nmod > 999:
nmod = "{:,}".format(nmod)
if ndiv > 999:
ndiv = "{:,}".format(ndiv)
提前致谢! -Rali
2 回答
您还可以将变量存储在list中,然后将map()存储为lambda .
lambda将像一个函数(你可以使用函数
def
定义它),但lambdas更短 . 它可以传递一个(位置)参数,如果s > 999
为假(即0
)或'{:,}'.format(s)
(s > 999
为真)(即1),则返回s
. 您基本上是访问列表,无论是否为s > 999
都将其编入索引 .lambda / function的优点在于你可以将重复代码保存在一个地方 .
然后你可以像这样使用
map()
map()
将change
lambda(或函数)应用于每个变量,并返回带有结果的生成器 .输出:
基本上你想要做的是对一组元素执行相同的操作 . 这将需要您了解列表/元组以及函数的使用/定义 .
解决此问题的最简单方法之一是实现一个函数,通过使用(* args)为您传递给它的任何数量的参数 .
哪个会输出
更精细,但更紧凑的方式是:
为此,您需要了解map的使用,它将函数应用于可迭代对象的所有元素和lambda,它允许您定义快速oneline无名函数 .
有点等同于