zoukankan      html  css  js  c++  java
  • 模块说

    1 python基础之模块

    collections模块

    collections是Python内建的一个集合模块,提供了许多有用的集合类。 

    namedtuple

    from collections import namedtuple
    Point = namedtuple('Point', ['x', 'y'])
    p = Point(1, 2)  

    namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。

    这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。

    deque

    用list存储时,按索引访问快,但是插入和删除元素慢,因为list是线性存储,数据量大的时候,插入和删除效率很低。

    deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈: 

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

    OrderedDict

    使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。

    如果要保持Key的顺序,可以用OrderedDict: 

    Python
    from collections import OrderedDict
    d = dict([('a', 1), ('b', 2), ('c', 3)])
    print 'd',d
    od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
    print 'od',od  
    d {'a': 1, 'c': 3, 'b': 2}
    od OrderedDict([('a', 1), ('b', 2), ('c', 3)])  

    小结

    不得不说,python的好多内置模块用起来还是很方便的哟。

  • 相关阅读:
    C#中virtual 方法和abstract方法的区别
    解决zabbix的cannot allocate shared memory of size错误
    批量改名的shell脚本
    /bin/bash和/bin/sh的区别
    搭建redmine全攻略——与apache整合(CentOS 5.8 64位)
    内网监控利器——Nagios
    Maven
    TypeScript
    ShardingSphere
    Spring框架源码分析
  • 原文地址:https://www.cnblogs.com/monkey-moon/p/8728977.html
Copyright © 2011-2022 走看看