大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全家桶1年46,售后保障稳定
今天主要学习了python中filter的用法。Python内建的filter()函数主要用于过滤序列,和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
做了两道练习题,第一道是用filter求素数。第二道是用filter()筛选出回数。
@Python代码如下:
# -*- coding: utf-8 -*-
# @Time :2018/6/27
# @Author :ShiChao
# title :1、筛选素数;2、筛选回文
# 输出素数:
'''def _odd_iter(): #列出所有的奇数 n = 1 while True: n += 2 yield n def not_sushu(): return lambda x:x % n > 0 def primes(): yield 2 it = _odd_iter() while True: n = next(it) yield n it = filter(not_sushu(),it) for n in primes(): if n < 100: print(n) else: break'''
# 筛选回文
def is_palindrome(n):
temp1 = str(n)
if temp1 == temp1[::-1]:
return n
else:
return False
# 其实两行代码就可以搞定
def is_palindrome(n):
temp1 = str(n)
return temp1 == temp1[::-1]
output = filter(is_palindrome, range(1, 100))
print('1~100:', list(output))
很简单的东西,没什么学习价值,就当自己的练手。欢迎交流欢迎指正!
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213565.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...