加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

【python】超有用的集合类collections,不来了解一下?

发布时间:2021-07-06 06:01:48 所属栏目:大数据 来源: https://www.jb51.cc
导读:在使用Python的过程中,一定是离不开数据结构的, 也就是List-列表,Tuples-元组,Dictionaries-字典。 那实际应用中我们更多的还是要去操作这些结构里的数据。比如,在列表后面添加元素,那么就会用到append() 方法。 那除了这些本身的操作方法之外,还有一

在使用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,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','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,'苹果'),'香蕉'),'西瓜'),'芒果')])

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

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读