python-高级函数补充

补充几个高级函数

zip

  • 把两个可迭代的内容生成一个可迭代的tuple元素类型组成的内容

      # zip案例
      l1 = [1,2,3,4,5]
      l2 = [11,22,33,44,55]
      z = zip(l1,l2)
      print(type(z))
      print(z)
      for  i  in  z:
      	print(i)
    
      # zip案例2
      l1  =  ["wangwang","mingyue","yyt"]
      l2  =  [12,99,38]
      z  =  zip(l1,l2)
      for  i  in  z:
      	print(i)
    

enumerate

  • 跟zip功能比较像

  • 对可迭代对象里的每一个元素,配上一个索引,然后索引和内容构成tuple类型

      # enumerate案例
      l1  =  [11,22,33,44,55]
      em  =  enumerate(l1)
      l2  =  [i  for  i  in  em]
      print(l2)
    
      #enumerate案例
      em  =  enumerate(l1, start = 100)
      l2  =  [i  for  i  in  em]
      print(l2)
    

collections模块

  • namedtuple
  • deque

namedtuple

  • tuple类型

  • 是一个可命名的tuple

      import  collections
      Point  =  collections.namedtuple("Point",['x','y'])
      p  =  Point(11, 22)
      print(p.x)
      print(p[0])
    
      Circle  =  collections.nametuple("Circle",['x', 'y', 'r'])
      c  =  Circle(100, 150, 50)
      print(c)
      print(type(c))
      #想检测以下nametupled到底属于谁的子类
      isinstance(c, tuple)
    

deque

  • 比较方便的解决了频繁删除插入带来的效率问题

      from  collections  import  deque
      q  =  deque(['a', 'b', 'c'])
      print(q)
      q.append("d")
      print(q)
      q.appendleft('x')
      print(q)
    

defaultdict

  • 当直接读取dict不存在的属性时,直接返回默认值

       from  collections  import  defaultdict
       # lambda表达式,直接返回字符串
       func  =  lambda: "刘大拿"
       #若调用dict中不存在的值,回调用lambda函数,返回函数值
       d2  =  defaultdict(func)
       d2["one"]  =  1
       d2["two"]  =  2
       print(d2['one'])
       print(d2['four'])
    

Counter

  • 统计字符串个数

      from  collections  import  Counter
      #为什么下面结果不把abcdefgabcdeabcdabcaba作为键值,而是以其中一个字母作为键值
      #需要括号里内容为可迭代
      c  =  Counter("abcdefgabcdeabcdabcaba")
      print(c)
    
      s  =  ["liudana", "love" , "love", "love", "love", "wangxiaona"]
      c  =  Counter(s)
      print(c)	
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值