• Python连载21-collections模块


    一、collections模块

    1.函数namedtuple

    (1)作用:tuple类型,是一个可命名的tuple

    (2)格式:collections(列表名称,列表)

    (3)​返回值:一个含有列表的类

    (4)例子​:

    import collections
    
    # help(collections.namedtuple)
    
    Point = collections.namedtuple("Point",['x','y'])
    
    p = Point(15,45)
    
    print(p.x+p.y)
    
    print(p[0]+p[1])
    
    #支持索引等
    
    #应用举例
    
    Circle = collections.namedtuple('Circle',['x','y','r'])
    
    circle = Circle(14,15,45)
    
    propotion = circle[2]*circle[2]*3.141596
    
    print("圆的面积为",propotion)

    2.函数deque

    (1)作用:比较方便的解决了频繁删除插入带来的效率问题

    (2)​格式:deque(列表)

    (3)返回值:列表

    (4)例子:

    q = collections.deque(['a','b','c'])
    
    print(q)
    
    q.append('sada')
    
    q.appendleft('left')
    
    print(q)
    
    help(collections.deque)

    3.函数:defaultdict

    (1)作用:当读取dict不存在的属性时,会返回默认值

    (2)格式:collections.defaultdict(函数)

    (3)​返回值:返回括号里的函数

    (4)例子​:

    我们定义一个字典,但是当我们打印一个不存在的索引的时候,会报错,因此我们在定义一个函数,当索引不存在的时候让他返回这个函数。

    这个类似于我们使用​:

    try...except...这个关键字的用法

     
    
    d1 = {"one":1,"two":2,"three":3}
    
    print("four")
    
    #上面的会报错,下面的就会返回函数,告诉我们错了
    
    func = lambda:"错了"
    
    d2 = collections.defaultdict(func)
    
    d2['one']=1
    
    d2['two']=2
    
    print(d2['four'])

    4.函数Couter

    (1)作用:统计字符串的个数

    (2)格式:collections.Counter()

    (3)返回值:可迭代内容的字典的Counter类

    (4)例子:

    list1 = collections.Counter("aaabbbccc")
    
    print(list1)
    
    list2 = collections.Counter(['abc','sad','sad','abc','abc','ffds'])
    
    print(list2)

     

    (5)总结​:括号内的内容必须是可迭代的才可以进行统计,这里这两个例子不一样,第一个统计的时字符串的字母个数,第二个统计的列表中的元素重复个数,符合我们对可迭代的​理解。

    二、源码:d21_1_collections_module

    地址:https://github.com/ruigege66/Python_learning/blob/master/d21_1_collections_module

    2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,后台回复”礼包“,获取大数据学习资料

  • 相关阅读:
    Mvc5+Ef 6.0入门开发随笔(2.MVC的简单创建与使用图文详解)
    转载:CSDN mvc ef 的简单增删改查操作
    插件
    Jmeter-后置处理器--json提取器
    jmeter的几种参数化方式
    Python--变量命名规范
    Python--对list、tuple、dict的操作
    Python--列表中字符串按照某种规则排序的方法
    Python--遍历文件夹下所有文件和目录的方法(os.walk(rootdir)函数返回一个三元素元祖)
    Python--递归函数实现:多维嵌套字典数据无限遍历
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11154949.html
Copyright © 2020-2023  润新知