[英]Execute a code block in a map in Python
我想在Python中复制以下JavaScript代码:
let a = [0, 4, 5]
b = a.map(x => {
if(x < 3) return 0
else return 1
})
知道我怎么能这样做吗? 我不确定如何在map
函数中执行代码块。
你可以创建一个函数,或者像这样使用lambda函数:
>>> a = [0, 4, 5]
>>> b = map(lambda x: 0 if x < 3 else 1, a)
>>> b
[0, 1, 1]
Python中唯一的匿名函数是lambdas,它们仅限于表达式,如果你想要一个正确的函数,你必须给它一个名字:
def map_f(x):
if x < 3:
return 0
else:
return 1
b = map(map_f, a)
就个人而言,我更喜欢列表理解到map
功能。
>>> a = [0, 4, 5]
>>> [int(x >= 3) for x in a]
[0, 1, 1]
它们允许您使用您想要的任何表达式而无需创建函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.