我正在尝试编写一个lambda,它需要分钟并将其除以一个范围,然后打印出结果。 我试过了
list((lambda minutes: minutes / range),range(Numbe+1,1))
但是列表只需要一个参数,任何想法?用户提供的分钟数和号码
我用
想出来了 List=[]
List=range(1, Number+1)
List.reverse()
print(List)
for number in List:
print ( minutes/ number)
我知道代码看起来非常新手,并希望得到的任何提示是更好看
答案 0 :(得分:4)
你真的需要使用lambda吗?这是一个列表理解,大多数人似乎更容易阅读
[float(minutes)/number for minutes in range(1,number+1)]
使用lambda函数的等价物是
map(lambda minutes: float(minutes)/number, range(1,number+1))
写一个更短的方法是
map(float(number).__rdiv__, range(1,number+1))
此处需要float
函数(除非您使用的是Python3),否则将执行整数除法
答案 1 :(得分:0)
您正在寻找的是map
内置函数,它作为第二个参数作用于传递给它的容器的各个元素,并返回结果,即列表。第一个参数是lambda的很多次,它接受参数并对其起作用。在您的情况下,分钟和数字。
map(lambda number:number/rangeval,range(1,rangeval))