加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python的enumerate lambda isinstance filter函数

发布时间:2020-12-20 12:50:52 所属栏目:Python 来源:网络整理
导读:0x01:filter(function,iterable) filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新 列表。 接收两个参数,第一个为函数,第二个为序列(可迭代对象),序列的每个元素作为参数传递给函数进行判断,返回True或False,将返回True

0x01:filter(function,iterable)

  1. filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
  2. 接收两个参数,第一个为函数,第二个为序列(可迭代对象),序列的每个元素作为参数传递给函数进行判断,返回True或False,将返回True的元素放到新列表中。
  3. 返回值是filter类的一个对象,可以用list函数转化成列表

eg:输出1-100内所有的完全平方数

1 import math
2 def is_sqr(x):
3     return math.sqrt(x) % 1 == 0
4 print(list(filter(is_sqr,range(1,101))))

输出结果如下:
[1,4,9,16,25,36,49,64,81,100]

0x02:enumerate(iterable,start)

  1. 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
  2. 返回一个enumerate类的对象
  3. 接受两个参数,第一个是数据对象,第二个是索引开始的位置
1 s = [a,b,c,c]
2 print(type(enumerate(s)))
3 for a,b in enumerate(s,start=9):
4     print(下标{}.format(a),end=    )
5     print(值{}.format(b))

输出结果如下:
<class ‘enumerate‘>
下标9??? 值a
下标10??? 值b
下标11??? 值c
下标12??? 值c

0x03:isinstance

  1. 判断一个对象是否为某一数据类型
  2. 判断子类是否继承与某个父类,isinstance会认为子类属于父类的类型,而type不会。
  3. 接受两个参数,第一个参数为数据对象,第二个参数为数据类型,或数据类型组成的元祖
 1 class A(object):
 2     pass
 3 class B(A):
 4     pass
 5 
 6 b = B()
 7 print(isinstance(b,A))  # 判断b是否属于父类A,isinstance返回True,type返回false
 8 print(type(b) == A)
 9 
10 a = 3
11 c = 6
12 print(isinstance(a,int))  # 判断对象是否属于int类型
13 print(isinstance(c,(str,list,tuple,int)))  # 判断对象是否属于远足中数据类型中的任一个

输出结果如下:
True
False
True
True

0x04:lambda

  1. 格式:lambda [parameter_list] : lambda后是参数,如果有多个参数,用 , 隔开, :后是返回值,一般是对出传入的参数的操作或判断
  2. 使用 lambda 表达式,可以定义简单的单行函数,省去定义函数的过程,不需要使用def关键字,让代码更加简洁。
  3. 对于不需要多次复用的函数,使用 lambda 表达式可以在用完之后立即释放,提高了性能。
f = lambda x,y,z :x+y+z
a = f(1,2,3)
print(a)

输出结果:
6

可以理解成使用lambda关键字定义了一个f对象,这个对象需要传入x y z三个参数,并把运算x+y+z后的结果返回给a

(ps:还处于起步的小菜鸡,若有错误,大佬们随时指正。。。。。嘻嘻)

*************************不积跬步,无以至千里。*************************

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读