• 内置模块


    (1)collections模块 (翻译:收藏)
    在内置数据类型(dict,list,set,tuple)的基础上,collections模块还提供了几个额外的数据类型:counter,deque,
    defaultdict,namedtuple和OrderedDict等。
    1. namedtuple:生成可以使用名字来访问元素内容的tuple
    from collections import namedtuple #创建一个元祖
    point = namedtuple('point',['x','y']) #两个地方point可以不一样
    weo = point(1,2)
    print(weo.x)
    #结果
    # 1
    print(weo.y)
    #结果
    # 2

    2. deque:双端队列,可以快速的从另外一侧追加和推除对象(插入的时候,最好是最前面 或 最后面插入数据,
    这样效率会更高)
    from collections import deque
    q = deque(['a','b','c'])
    q.append('x') #从后面加入一个值
    q.appendleft('y') #从左侧加入一个值
    print(q)
    # deque(['y', 'a', 'b', 'c', 'x'])
    print(q.pop()) #取最后一个值, popleft --取最前面一个值
    #结果
    x
    print(q)
    #结果
    deque(['y', 'a', 'b', 'c', 'x'])

    3. Counter:计算器,主要用来计数
    c = Counter('abcdacbdadcdacbsd')
    print(c) #计算a ,b ,c,d 出现几次
    counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,
    其计数作为value。计数值可以是任意的lnterger(包括0和负数)。counter类和其他语音的bags或multisete很相似。

    4. OrderedDict:有序字典
    import collections
    d = collections.OrderedDict()

    d['电脑'] = 10000
    d['苹果'] = 10
    print(d)
    for i in d:
    print(i,d[i]) #不管怎么打印都是有序的字典
    print(d['电脑']) #直接可以取值电脑的价格

    5. defaultdict:带有默认值的字典
    from collections import defaultdict
    #等于 import defaultdict defaultdict.sleep()

    l = [11,22,33,44,55,66,77,88,99,90]
    my_dict = defaultdict(list)
    # #默认这个字典的value是一个空列表
    for value in l:
    if value > 66:
    my_dict['k1'].append(value)
    else:
    my_dict['k2'].append(value)

    下面解答
    d = {}
    my_dict['a'].append(1)
    my_dict['b'].append(2)
    my_dict['b'] = 10 #如果有默认的值,就是你赋默认值
    print(my_dict)
    输出结果
    defaultdict(<class 'list'>, {'a': [1], 'b': 10})
  • 相关阅读:
    2020/4/15
    2020/4/14
    2020/4/13
    2020/4/12
    2020/4/11
    2020/4/9
    PTA录入数据库题目流程
    PTA录题
    2020/4/8
    如何把mysql workbench的数据结构和数据导出到sql表中
  • 原文地址:https://www.cnblogs.com/liwei-python-21/p/9032515.html
Copyright © 2020-2023  润新知