2024-10-03 06:25:09 发布
网友
我是一个初学者,我必须实现一个代码,以显示从23到97的偶数使用映射函数。我被困在
def evenfunc(num): if num%2 == 0: return num print map(evenfunc, range(23,98))
输出为[无,24,无,26,无,28,无,30,无,32,无,34,无,36,….97] 那么如何去除none值呢?在
您的问题是您误解了传入map的函数应该做什么。传入map的函数应修改现有输入。map将函数的结果映射到每个元素,从而创建一个新的iterable。不要试图过滤它。在
map
您需要改为使用filter,它是根据一个条件专门过滤输入的:
filter
filter(lambda x: x % 2 == 0, range(23, 98))
但是,列表理解是更好的选择:
试试这个:
def evenfunc(num): if num%2 == 0: return True print filter(evenfunc, range(23,98))
您的问题是您误解了传入
map
的函数应该做什么。传入map
的函数应修改现有输入。map
将函数的结果映射到每个元素,从而创建一个新的iterable。不要试图过滤它。在您需要改为使用
filter
,它是根据一个条件专门过滤输入的:但是,列表理解是更好的选择:
^{pr2}$试试这个:
相关问题 更多 >
编程相关推荐