(isinstance(l_iter, Iterator))
运行结果:
True
True
Counter类(统计)
- Counter类是一个计数器,可以用来统计每个元素出现的次数,返回的是一个Counter对象
from collections import Counter
lst = [1, 2, 6, 2, 4, 4, 6, 2, 4, 5, 4, 4, 2, 3, 2, 1]
print(dict(Counter(lst)))
运行结果:
{1: 2, 2: 5, 6: 2, 4: 5, 5: 1, 3: 1}
from collections import Counter
lst = [1, 2, 6, 2, 4, 4, 6, 2, 4, 5, 4, 4, 2, 3, 2, 1]
print(list(Counter(lst)))
运行结果:
[1, 2, 6, 4, 5, 3]
deque类(双向队列)
- deque类是一个双向队列,在双向队列之前先了解一下 栈 和 队列 的定义
- 栈:FILO 先进后出(比如上下电梯轿厢)
- 队列:FIFO 先进先出(所有的排队)
- 利用deque类来建立双向队列,以及操作双向队列
from collections import deque
q = deque()
q.append(3)
q.append(4)
q.appendleft(2)
q.appendleft(1)
print(list(q))
print(q.pop())
print(q.popleft())
print(list(q))
运行结果:
[1, 2, 3, 4]
4
1
[2, 3]
OrderedDict类(有序字典)
- 顾名思义,通过OrderedDict类创建的字典是有序的
from collections import OrderedDict
dic = {"k1": 1, "k2": 2, "k3": 3}
print(dic)
od = OrderedDict({"k1": 1, "k2": 2, "k3": 3})
print(od)
print(od["k1"])
运行结果:
{'k1': 1, 'k2': 2, 'k3': 3}
OrderedDict([('k1', 1), ('k2', 2), ('k3', 3)]) # 位置固定
1 # 可以像正常字典取值
defaultdict类(默认字典)
- 通过defaultdict类创建的字典可以给字典设置默认值,当key不存在时,直接获取默认值
from collections import defaultdict
df = defaultdicr(list)
print(df["k1"])
运行结果:
[]
namedtuple类(命名元组)
- 通过namedtuple类创建元组可以给元组内的元素命名
from collections import namedtuple
nt = namedtuple("num", ["x", "y"]) # 定义元组名、元素名(其实这里是创建了一个类)
p = nt(1, 2)
print(p)
print(p.x)
print(p.y)
运行结果:
num(x=1, y=2)
1
2
二、软件开发规范
软件开发规范:分文件管理,增强耦合性
-
lib |
公共组件目录 |
core |
主逻辑目录 |
db |
相关数据目录 |
log |
日志 |
conf |
配置文件目录 |