collections模块

namedtuple:可以使用名字访问元素的元组

  • namedtuple(tuple_name, [name1, name2])
    • tuple_name:元组名
    • name1, name2:元组中每个元素的名字
from collections import namedtuple
Card = namedtuple('card', ['花色', '数字'])
c1 = Card('梅花', '8')
print(c1)
print(c1.花色)
print(c1.数字)
card(花色='梅花', 数字='8')
梅花
8

deque:双端队列,可以从两端放入或弹出元素

  • append(item):从右边放入元素item
  • appendleft(item):从左边放入元素item
  • insert(index, item):在index处插入元素item
  • pop():从右边弹出元素
  • popleft():从左边弹出元素
from collections import deque
dq = deque()
dq.append(1)
dq.append(2)
dq.appendleft(3)
dq.appendleft(4)
dq.insert(2,5)
print(dq)
print(dq.pop())
print(dq.popleft())
deque([4, 3, 5, 1, 2])
2
4

OrderedDict:有序字典

  • 用法和字典一样,只不过他的key-value是和定义的时候的顺序一样
from collections import OrderedDict
od = OrderedDict()
od['a'] = 1
od['b'] = 2
od['c'] = 3
print(od)
OrderedDict([('a', 1), ('b', 2), ('c', 3)])

defaultdict(callable):默认字典,如果key不存在时,可以返回一个默认值

  • callable: 可调用的参数
from collections import defaultdict

dict1 = defaultdict(int)
dict2 = defaultdict(set)
dict3 = defaultdict(list)

print(dict1[1])
print(dict2[1])
print(dict3[1])
0
set()
[]

用匿名函数作为参数

d = defaultdict(lambda:'None')
print(d[1])
None

Counter():用来统计元素个数,以字典形式存储

from collections import Counter
s = "abcabcd"
print(Counter(s))
Counter({'a': 2, 'b': 2, 'c': 2, 'd': 1})

更多其他的用法可参考Counter用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值