标签:简单 div toc 默认 就是 def 属性 作用 tle
tuple是元组,它是可以表示一个不变的集合比如一个坐标的点就可以表示成:
p = (1,2)
实际上我们通过一个这样的元组很难想象它是已个坐标轴
numedtuple有名元组表示
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(1, 2)
p.x # 1
p.y # 2
namedtuple是一个函数,它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素。
这样一来,我们用namedtuple可以很方便地定义一种数据类型,它具备tuple的不变性,又可以根据属性来引用,使用十分方便。
# 默认字典
from collections import defaultdict
# 用匿名函数来给他一个默认值
dic = defaultdict(lambda :'nan') # dic = {} # 如果找不到赋了一个默认值
dic['a'] = 1
print(dic['a'])
print(dic['c'])
使用list存储数据时,按索引访问元素很快,但是插入和删除元素就很慢了,因为list是线性存储,数据量大的时候,插入和删除效率很低。
deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈:
list追加值-->线性表
lis = [1,2,3] # 线性表
lis.append(4)
print(lis)
# [1,2,3,4]
用deque实现向表的两端都追加元素,这就是双端列表的特性
from collections import deque # 链表
de = deque([1,2,3])
de.append(4)
print(de)
de.appendleft(0)
print(de)
de.popleft()
de.popleft()
print(de)
是一个简单的计数器,例如,统计字符出现的个数:
我们之前学习数据类型的时候,计数都是用字典来实现的
from collections import Counter
s= 'programming'
c = Counter() # 字典
for i in s:
c[i] +=1
print(c)
# Counter({'r': 2, 'g': 2, 'm': 2, 'p': 1, 'o': 1, 'a': 1, 'i': 1, 'n': 1})
标签:简单 div toc 默认 就是 def 属性 作用 tle
原文地址:https://www.cnblogs.com/XuChengNotes/p/11402845.html