怎么在python3中使用filter函数输出小于某个数的数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
def _int_iter(): """根据回文数的定义。首先生成一个从0开始的整数无限序列""" n = 0 while True: yield n n += 1 def _is_palindrome(n): """判断n是否为回文数,是就返回Ture,否就返回False""" L1 = list(str(n)) L2 = L1[:] # 利用列表的切片将L1复制出一个副本,并将副本赋值给L2(以免对L2进行操作时,改变L1) L2.reverse() #反转L2(reverse函数只对原Iterable进行反转,不会返回值) return L1 == L2 def palindromes(): """利用filter进行筛选,只保留符合回文数要求的n值,并返回一个惰性的序列""" it = _int_iter() while True: n = next(it) yield n it = filter(_is_palindrome, it) # 利用for循环,输出小于100000的所有回文数 for num in palindromes(): if num < 100000: print(num) else: break
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。