首页 > 解决方案 > 我如何过滤从 1 到 101 的列表中的多个可分数字?

问题描述

我要求过滤一个功能。具体术语是:

创建包含过滤器函数的变量filter_t3,为从 1 到 101(包括两者)可被 7、13 或 42 整除的所有数字创建生成器。

然后,使用该list()函数创建一个列表,其名称result_t3包含过滤的元素(与上面的表达式匹配的元素)。

提示:在过滤器的表达式参数中使用lambda函数。

谢谢您的帮助!!保持安全无恙!

标签: pythonlistfunctionlambdafilter

解决方案


首先,您分配一个函数,当该数字可被您拥有的数字整除时返回一个布尔值并将其存储在 lambda 中,我确信有更好的方法可以做到这一点,但这个方法很好。然后,我们创建我命名为 1 到 101 的列表num_list。最后,我们将该filter函数应用于列表并将结果存储在一个名为 的新列表中result_t3

filter_t3 = lambda x: (x % 7 == 0 or x % 13 == 0 or x % 42 == 0)
num_list =  list(range(1, 102))
result_t3 = filter(filter_t3, num_list)

print(num_list)
print(result_t3)

我鼓励您阅读有关过滤器功能以及如何将lambdas它们一起使用的信息。

编辑:由于range仅包含第一个数字,因此我在逗号后将 101 更改为 102。

EDIT2:我需要学习如何阅读,您说可以除以 x 或 y,更改了 lambda 以反映这一点。


推荐阅读