马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
ef q():
for each in range(1,100):
if each % 3 == 0:
print(each,end = ' ')
我可以这样写屌丝函数 能求出3的倍数但我用lambda匿名函数该怎么写呢?list(lambda d : d if d % 3 else None ,range(1,100))小弟这样写就报错 正确的写法是怎么样的呢?
可以这样写:
- >>> list(filter(lambda x : not(x%3),range(1,100)))
- [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
复制代码
当然也可以不用lambda,而用列表推导式。
- [each for each in range(1, 100) if each % 3 == 0]
- [3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42, 45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87, 90, 93, 96, 99]
复制代码
|