python内建模块collections的深入浅析?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
在使用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, '芒果')])
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。