Python 常用语句
跳到导航
跳到搜索
Dict
Python 字典的顺序问题取决于 Python 的版本:
- 3.7 及以后版本,字典保持插入顺序,语言规范特性
- 3.6 CPython 的字典保持插入顺序,非语言规范的一部分,不应该依赖这个行为,因为其他(如 Jython 或 IronPython)可能不保持插入顺序
- 3.5 及更早版本,字典不保持插入顺序。遍历字典时,键值对的顺序是不可预测的
第一个 Key
# d1={'a':1, 'b':2} next(iter(d1))
最后一个 Key
list(d1.keys())[-1]
defaultdict
内置字典 dict 的一个子类,可以自动为不存在的键提供一个默认值,从而避免了在访问字典时常见的 KeyError 异常。
from collections import defaultdict dd1 = defaultdict(int) dd1['a'] += 1 # 无论 a 是否已经存在,都可以直接累加 dd2 = defaultdict(list) dd2['a'].append(1) # 自动创建一个空列表 dd3 = defaultdict(lambda: {"total": 0, "ok": 0, "err": 0}) dd3['a']['total'] += 1 # 键不存在时,自动调用 lambda 函数,返回字典