python中collection模块的简单介绍(附示例)


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

c=Counter('gallahad')

print(c)

c['a']=0

print(c)

del c['l']

print(c)

>>Counter({'a': 3, 'l': 2, 'g': 1, 'h': 1, 'd': 1})

>>Counter({'l': 2, 'g': 1, 'h': 1, 'd': 1, 'a': 0})

>>Counter({'g': 1, 'h': 1, 'd': 1, 'a': 0})

elements():
返回一个迭代器。元素被重复了多少次,在该迭代器中就包含多少个该元素。元素排列无确定顺序,个数小于1的元素不被包含。

1

2

3

4

c =Counter(a=4,b=2,c=0,d=-2)

a =list(c.elements())

print(a)

>>['a', 'a', 'a', 'a', 'b', 'b']

most_common():
返回一个top (n)列表。如果n没有被指定,则返回所有元素,当多个元素计数值相同时,排列是无序的

1

2

3

c =Counter('xsgffikgkhgdyrduykkf')

a =c.most_common(3)

print(a)

其他操作:

1

2

3

4

5

6

7

8

9

sum(c.values())  # 所有计数的总数

c.clear()  # 重置Counter对象,注意不是删除

list(c)  # 将c中的键转为列表

set(c)  # 将c中的键转为set

dict(c)  # 将c中的键值对转为字典

c.items()  # 转为(elem, cnt)格式的列表

Counter(dict(list_of_pairs))  # 从(elem, cnt)格式的列表转换为Counter类对象

c.most_common()[:-n:-1]  # 取出计数最少的n个元素

c += Counter()  # 移除0和负值

4:OrderdDict有序字典

使用字典(dict),key是无序的,在对字典做迭代时,我们无法确定key的顺序。
如果要key有顺序,可以用OrderdDict

from collections import OrderedDict

1

2

3

4

5

6

d=dict([('a',1),('b',2),('c',3)])

print(d)

od=OrderedDict([('a',1),('b',2),('c',3)])

print(od)

>>{'c': 3, 'b': 2, 'a': 1}

>>OrderedDict([('a', 1), ('b', 2), ('c', 3)])


注意:OrderdDict是按照插入的顺序来排序的,不是按照key本身来排序的。

1

2

3

od=OrderedDict([('a',1),('c',3),('b',2)])

print(od)

>>OrderedDict([('a', 1), ('c', 3), ('b', 2)])

5:defaultdict:带有默认值的字典

例子:
有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。

即: {'k1': 大于66 , 'k2': 小于66}

from collections import defaultdict

1

2

3

4

5

6

7

8

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)

print(my_dict)

1

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

以上就是python中collection模块的简单介绍(附示例)的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

caffe导入到Python报错怎么办

整理的一些Python常用方法供大家参考

Python内置的pickle库的对象序列化与反序列化

Python学会后做什么

Python怎么输入三个数输出最大的值

Python怎么学得快

探索Python模块自动搜索路径

初学者必读的5本Python书籍,你都看过吗?

Python excel使用xlutils类库实现追加写功能的方法

Python中的id()函数及读取list的方法介绍(代码示例)

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...