我看到了lambda的两个模型,无法使用它们而不是它们。你想:
languages = ["HTML", "JavaScript", "Python", "Ruby"]
print max(lambda x:x=="Python", languages)
你可以看到它是以lambda然后x:x开头的,最后是list(y)的名字。假设如下:
languages = ["HTML", "JavaScript", "Python", "Ruby"]
print max(languages,key=lambda x:x=="Python" )
我在一个例子中找到了。在这一个参数中,一个参数与lambda相等,list的名称在开头,并且它与第一个相同。有两种不同的定义吗? 感谢
答案 0 :(得分:0)
来自docs。
过滤器采用功能和可迭代(列表)
[即filter(function, iterable)
]
您正在传递lambda(lambda x:x=="Python"
)作为第一个参数。
Max 采用可迭代和(在本例中)单个参数'key'功能
[即max(iterable[, key])
]
您正在传递lambda(lambda student: student.score
)作为第二个命名的关键参数。
你的lambda都是相同的lambda语法。也许您感到困惑,因为第二个使用关键字参数(key=...
)将lambda传递给函数?
答案 1 :(得分:0)
我回答。这些是旧版本,不能接受3到3以上的paython。它可以使用如下:
squares=[x**2 for x in range(1,11)]
c=max(filter(lambda x: x>=30 and x<=70,squares))
print (squares)
print (c)
或
f=[1,2,3,4,5,6,7,8,9]
print(list(filter(lambda x:x%2==0,f)))
print(max(filter(lambda x:x%2==0,f)))
你的知识已经过时了。