Python基础-day17-数据结构collections

from collections import namedtuple

from collections import deque

from collections import OrderedDict

from collections import defaultdict

from collections import Counter

import queue

 

命名元祖,同样是元祖,它跟一般元祖的区别是:

命名元祖中每个元素都有其名字。

如果我们想用元祖表示一个点,则需要一个横坐标,一个纵坐标。

namedtuple('point', ['x', 'y'])

x表示横坐标

y表示纵坐标

point可以任意写,但建议写成有意义的名字。

 

 

 

 

dic2 = OrderedDict([(1, "查看数据"), (2, "编辑数据"), (3, "删除数据")])
print(dic2)
for key in dic2.keys():
    print(key, dic2[key])

 

def func():
    return 'No this key!'


dd = defaultdict(func)
dd['key1'] = 'abc'

print(dd['key1'])
print(dd['key2'])

# 这里提个错误,传递None给defaultdict会报错。所以目前已知:只能传递可调用对象,且该对象要返回数据。

 

c = Counter('abcdeabcdabcaba')

c.most_common(3)

# 打印数量最多的前三个统计项

[('a', 5), ('b', 4), ('c', 3)]

第一个元素记录的是字符;

第二个元素记录的是数量。

>>> c = Counter('abcdeabcdabcaba')  # count elements from a string
 |  
 |  >>> c.most_common(3)                # three most common elements
 |  [('a', 5), ('b', 4), ('c', 3)]
 |  >>> sorted(c)                       # list all unique elements
 |  ['a', 'b', 'c', 'd', 'e']
 |  >>> ''.join(sorted(c.elements()))   # list elements with repetitions
 |  'aaaaabbbbcccdde'
 |  >>> sum(c.values())                 # total of all counts
 |  15

 

posted @ 2019-11-02 17:15  道霖  阅读(131)  评论(0)    收藏  举报