python--常用库collections

from collections import namedtuple, deque, Counter, OrderedDict

# 创建一个新class Point, 有两个属性 x y
Point = namedtuple('Point', ['x', 'y', 'z'])  
p = Point(1, 1, 3)
print(p.x)
print(p.y)
print(p.count(1))
d = p._asdict()  # 转换dict
print(d['x'])
d['x'] = 3
print(d['x'])
print(p.x)

# deque python中双向列表, 删除和插入速度快, list索引快,但是删除和插入慢

a = deque('abc')
print(a)
# deque对象为可迭代对象
for cha in a:
    print(cha)

# 尾部插入插入元素
a.append('d')
a.extend(('e', 'f', 'g'))
print(a)
# 首部插入元素
a.appendleft(1)
a.extendleft((4, 3, 2))  # 注意左边插入可迭代对象时,顺序是反的,出入的值是[2, 3, 4]
print(a)

# 删除元素
a.pop()
a.popleft()
print(a)

# Counter() 统计字符串字符出现的次数
s = 'programping'
c = Counter()
for ch in s:
    c[ch] = c[ch] + 1
print(c)
print(c['p'])
print(c['d'])

# OrderDict按键的插入顺序排序

order_dict = OrderedDict()
order_dict['x'] = 1
order_dict['z'] = 2
order_dict['c'] = 3
order_dict['b'] = 4
order_dict['a'] = 4
print(order_dict)
for k, v in order_dict.items():
    print(k, v)

猜你喜欢

转载自blog.csdn.net/qq_36255988/article/details/80375735
今日推荐