zoukankan      html  css  js  c++  java
  • Python 从零学起(纯基础) 笔记 之 collection系列

    Collection系列

     


      1.  计数器(Counter

    Counter是对字典类型的补充,用于追踪值的出现次数  

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

    Counter

    1 import collections
    2 obj = collections.Counter('haskhflajgahg')
    3 print(obj)
    4 ret = obj.most_common(4)#取前四位(很少用到)
    5 print(ret)

    结果:

    Counter({'a': 3, 'h': 3, 'g': 2, 'l': 1, 'f': 1, 's': 1, 'j': 1, 'k': 1})

    [('a', 3), ('h', 3), ('g', 2), ('l', 1)]

    most_common  elements  items

     1 import collections
     2 obj = collections.Counter('haskhflajgahg')
     3 print(obj)
     4 ret = obj.most_common(4)#取前四位(很少用到)
     5 print(ret)
     6 print('-----分割符-------')
     7 for item in obj.elements():
     8     print(item)
     9 print('-----分割符-------')
    10 for k,v in obj .items():
    11     print(k,v)

    结果:

    Counter({'h': 3, 'a': 3, 'g': 2, 'k': 1, 's': 1, 'j': 1, 'l': 1, 'f': 1})

    [('h', 3), ('a', 3), ('g', 2), ('k', 1)]

    -----分割符-------

    k

    h

    h

    h

    s

    j

    a

    a

    a

    l

    f

    g

    g

    -----分割符-------

    k 1

    h 3

    s 1

    j 1

    a 3

    l 1

    f 1

    g 2

     

    elements   =》  原生的值

    items      =》  处理过后的数据

    1 import  collections
    2 obj = collections.Counter(['11','22','33','22'])
    3 print(obj)
    4 obj.update(['Young','11','33'])
    5 print(obj)
    6 obj.subtract(['Young','11','33'])
    7 print(obj) 

    2.  有序字典(orderedDict

    orderedDict是对字典类型的补充,他记住了字典元素添加的顺序

    3.   默认字典

    Defaultdict是对字典的类型的补充,他默认给字典的值设置了一个类型

     1 from collections import defaultdict
     2 
     3 values = [11,22,33,44,55,66,77,88,99,100]
     4 my_dict = defaultdict(list)
     5 for value in values:
     6     if value>66:
     7         my_dict['k1'].append(value)
     8     else:
     9         my_dict['k2'].append(value)
    10 print(my_dict)

    结果:

    defaultdict(<class 'list'>, {'k2': [11, 22, 33, 44, 55, 66], 'k1': [77, 88, 99, 100]})

    4.  可命名元组(namedtuple

    根据namedtuple可以创建一个包含tuple所有功能以及其他功能的类型

    1 import collections
    2 #new a class , defaultdict
    3 MytupleClass = collections.namedtuple('MytupleClass',['x','y','z'])
    4 print(help(MytupleClass))
    5 obj = MytupleClass(11,22,33)
    6 print(obj.x)
    7 print(obj.y)
    8 print(obj.z)

     

    5.  双向队列(deque

     1 import  collections
     2 d = collections.deque()
     3 d.append('1')
     4 d.append('10')
     5 d.appendleft('1')
     6 print(d)
     7 r = d.count('1')
     8 print(r)
     9 d.extend(['yy','uu','ii'])
    10 print(d)
    11 d.extendleft(['1','2'])
    12 print(d)
    13 d.rotate(3)
    14 print(d)

    结果:

    deque(['1', '1', '10'])

    2

    deque(['1', '1', '10', 'yy', 'uu', 'ii'])

    deque(['2', '1', '1', '1', '10', 'yy', 'uu', 'ii'])

    deque(['yy', 'uu', 'ii', '2', '1', '1', '1', '10'])

    6.  单向队列

    1 import queue
    2 # d = collection.deque()
    3 q = queue.Queue()
    4 q.put('123')
    5 q.put('456')
    6 print(q.qsize())
    7 print(q.get())
    8 print(q.get())

    结果:

    2

    123

    456

  • 相关阅读:
    给部署在openshift上的WordPress添加wptouch插件
    让你的代码符合PEP8标准——sublime text 2 安装及使用 Python Flake8 Lint 插件
    Pylot——跨平台的网站压力测试工具
    window.print打印指定div
    window.parent与window.opener的区别 转
    获取Windows Mobile开发工具
    event.srcElement
    GridView的各种用法
    JS 中document详解
    llog
  • 原文地址:https://www.cnblogs.com/Bro-Young/p/5808379.html
Copyright © 2011-2022 走看看