• Python--day19--collections模块


    常用模块一的各个模块解释:

    文件名不要起跟模块名一样:(模块本身就是一个py文件)

    collection模块:

    namedtuple方法:

    例1:

     例2:

    dequeue方法:双端队列

    有序字典OrderedDict:

    defaultdict默认字典:

     1 values = [11, 22, 33,44,55,66,77,88,99,90]
     2 
     3 my_dict = {}
     4 
     5 for value in  values:
     6     if value>66:
     7         if my_dict.has_key('k1'):
     8             my_dict['k1'].append(value)
     9         else:
    10             my_dict['k1'] = [value]
    11     else:
    12         if my_dict.has_key('k2'):
    13             my_dict['k2'].append(value)
    14         else:
    15             my_dict['k2'] = [value]
    原生代码
     1 from collections import defaultdict
     2 
     3 values = [11, 22, 33,44,55,66,77,88,99,90]
     4 
     5 my_dict = defaultdict(list)
     6 
     7 for value in  values:
     8     if value>66:
     9         my_dict['k1'].append(value)
    10     else:
    11         my_dict['k2'].append(value)
    defaultdict字典解决方法

    使dict时,如果引用的Key不存在,就会抛出KeyError。如果希望key不存在时,返回一个默认值,就可以用defaultdict

    1 >>> from collections import defaultdict
    2 >>> dd = defaultdict(lambda: 'N/A')
    3 >>> dd['key1'] = 'abc'
    4 >>> dd['key1'] # key1存在
    5 'abc'
    6 >>> dd['key2'] # key2不存在,返回默认值
    7 'N/A'
    例2

    Counter方法:计数

    队列:queue   先进先出(没有索引)

  • 相关阅读:
    关于PowerShell调用Linq的一组实验
    PowerShell创建参考窗口
    Python切图脚本
    11->8
    用Python演奏音乐
    关于Haskell计算斐波那契数列的思考
    傅立叶变换与小波分析
    堆排序(python实现)
    二进制数据表示方式
    oracle数据插入/查询乱码
  • 原文地址:https://www.cnblogs.com/xudj/p/9828088.html
Copyright © 2020-2023  润新知