当前位置: 移动技术网 > IT编程>脚本编程>Python > 了解一下python内建模块collections

了解一下python内建模块collections

2020年09月08日  | 移动技术网IT编程  | 我要评论
在使用python的过程中,一定是离不开数据结构的, 也就是list-列表,tuples-元组,dictionaries-字典。那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加

在使用python的过程中,一定是离不开数据结构的, 也就是list-列表,tuples-元组,dictionaries-字典。
那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加元素,那么就会用到append() 方法。
那除了这些本身的操作方法之外,还有一个python内建模块——collections,也提供了不少使用的方法,今天来捋一下。

一、counter

这是一个计数器,我们可以用来方便的统计出一些元素出现的次数,比如string、list、tuples等等。

string

from collections import counter

c = counter("hellokitty")

print(c)

#运行结果:
counter({'l': 2, 't': 2, 'h': 1, 'e': 1, 'o': 1, 'k': 1, 'i': 1, 'y': 1})

list

from collections import counter

c = counter(["苹果", "樱桃", 1, 1, 4, 4, 5])

print(c)

#运行结果:
counter({1: 2, 4: 2, '苹果': 1, '樱桃': 1, 5: 1})

二、deque

我们很喜欢用list来存放数据,因为非常的方便。但是list的缺点也很明显,如果你是按索引访问元素就很快,但是插入和删除元素就很慢。
当然了,数据量小的时候肯定是感知不到的,只有当数据量大的时候,你才会发现这个缺点,因为list是线性数据结构,比如插入这个动作,需要把它后面的元素都挪一位。
deque除了实现list的append()和pop()外,还提供了appendleft()和popleft(),这样的话我们可以很方便的向着列表的另一头,进行添加和移除操作了。

from collections import deque

deque_list = deque(['a', 'b', 'c', 'd'])
deque_list.append('苹果')
deque_list.appendleft('吃')

print(deque_list)

#运行结果:
deque(['吃', 'a', 'b', 'c', 'd', '苹果'])

三、ordereddict

使用python,大家自然知道dict字典中的key是无序的。那如果你想要保持key的顺序的话,用ordereddict即可。

from collections import ordereddict

list_a = [(1, "苹果"), (2, "香蕉"), (3, "西瓜"), (4, "芒果")]

order_dict = ordereddict(list_a)
print(order_dict)

#运行结果:
d:\daily
λ python whatiscollections.py
ordereddict([(1, '苹果'), (2, '香蕉'), (3, '西瓜'), (4, '芒果')])

如果有场景中需要使用到,可以试试这几种用法。

以上就是了解一下python内建模块collections的详细内容,更多关于python collections的资料请关注移动技术网其它相关文章!

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网