zoukankan      html  css  js  c++  java
  • Python数据结构1-----基本数据结构和collections系列

    1、基本数据结构

    整型、浮点型、字符串、元祖、列表、字典、集合

    2、高级数据结构

    (collections模块)

    (1)计数器(counter):对字典的补充,用于追踪值的出现次数。

    【具备字典所有的功能+自己的功能】

    1 #获取元素出现次数多的几个
    2 bb = c.most_common(3)     #取元素次数最多的前3个
    3 print(bb)
    4 
    5 #执行结果:
    6 [('s', 6), ('d', 5), ('f', 4)]

    (2)有序字典(orderedDict):  orderedDict是对字典的补充,其记住字典元素添加的顺序

    orderedDict的一个函数popitem() ,将最后一个元素删除并返回最后一个元素。如果是popitem(False),则将首元素删除并返回首元素。

    代码如下:

    import collections 
    
    nums=[2,4,6,8]
    key=[i for i in range(4)]
    dic=collections.OrderedDict(zip(key,nums))
    
    print(dic.popitem(),dic)
    print(dic.popitem(False),dic)

    结果:

    (3, 8) OrderedDict([(0, 2), (1, 4), (2, 6)])
    (0, 2) OrderedDict([(1, 4), (2, 6)])

    (3)默认字典(defaultdict):

    from collections import defaultdict
    
    values = [11, 22, 33,44,55,66,77,88,99,90]
    
    my_dict = defaultdict(list)
    
    for value in  values:
        if value>66:
            my_dict['k1'].append(value)
        else:
            my_dict['k2'].append(value)
    
    
    #【defaultdict不需要判断'k1'、’k2'在不在字典中,如果不在自动赋值,如果在就增加。
    原生的字典不行,需要判断】

    (4)可命名元祖(namedtuple):其包含一个tuple所有功能以及其他功能的类型。

    (5)双端队列(deque)

    (queque模块)

    (1)FIFO

    (2)LIFO

    (3)Priorityqueue

  • 相关阅读:
    今天20,明天21
    Windows Server 2003 R2 修复Windows Server 2003
    上门服务,谁上谁的门?
    重构代码(2)处理空字符串
    看你知道不知道之-别惹我Msgbox的Title
    注册GooglePage成功
    [zz]64bit Linux下error: gnu/stubs32.h: No such file or directory错误解决办法
    [zz] libstdc++ bad value
    [zz]ctags和vim
    [zz]写在KVM (Kernelbased Virtual Machine) 安装成功后
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/8962221.html
Copyright © 2011-2022 走看看