小编Sco*_*ork的帖子

在python 3中应用python 2代码的麻烦

要了解lambdas,我正在学习本教程,并遇到了关于计算素数的例子(python 2.x):

nums = range(2,50)
for i in range(2,8):
    nums = filter(lambda x: x == i or x % i, nums)

print (list(nums))
Run Code Online (Sandbox Code Playgroud)

版画

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
Run Code Online (Sandbox Code Playgroud)

但是,在python 3.4中尝试这个时,它产生了意想不到的行为:

nums = range(2,50)
for i in range(2,8):
    nums = filter(lambda x: x == i or x % i , nums)

print(list(nums))
Run Code Online (Sandbox Code Playgroud)

版画

[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, …
Run Code Online (Sandbox Code Playgroud)

python lambda filter

1
推荐指数
1
解决办法
90
查看次数

标签 统计

filter ×1

lambda ×1

python ×1