在使用Python的过程中,一定是离不开数据结构的, 也就是List-列表,Tuples-元组,Dictionaries-字典。
那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加元素,那么就会用到append() 方法。
那除了这些本身的操作方法之外,还有一个Python内建模块——collections,也提供了不少使用的方法,今天来捋一下。
一、Counter
这是一个计数器,我们可以用来方便的统计出一些元素出现的次数,比如String、List、Tuples等等。
String
1
2
3
4
5
6
7
8
|
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
1
2
3
4
5
6
7
8
|
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(),这样的话我们可以很方便的向着列表的另一头,进行添加和移除操作了。
1
2
3
4
5
6
7
8
9
10
|
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即可。
1
2
3
4
5
6
7
8
9
10
11
|
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的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/pingguo-softwaretesting/p/13085819.html