|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
list(filter (lambda x: x if x%3 == 0 else None, range (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]
但是
[x for x in range (100) if x %3 == 0]
这样运行后 是这样的结果
[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]
两条语句都是筛选3的倍数,为什么上面那一条 的结果没有0
但是下面那一条的结果有0 啊
本帖最后由 一个账号 于 2020-2-23 10:29 编辑
因为 filter 过滤掉了值为 False 的 0,range 默认是从 0 开始的,而 0 % 3 == 0
|
|