排序
Python JSON导出:拒绝NaN与Infinity
Python的json模块默认可以输出NaN或Infinity,但这些并不是标准JSON数值。文件在本机能生成,不代表其他语言或严格接口一定能接受。
Python removeprefix与lstrip的区别
想把名称前面的固定标记去掉时,lstrip接收的是字符集合,removeprefix接收的才是完整前缀。把两者混用,可能把后面本来需要保留的字母也删掉。
Python groupby:连续分组与排序
itertools.groupby按照连续相同的键分组,并不会自动把整份数据中同键的记录聚到一起。看到A、B、A分成三组,通常是输入顺序与预期用途没有对齐。
Python bisect查找:插入位置不等于命中
在有序列表中找一个数,bisect_left返回适合插入的位置,而不是“找到或找不到”的直接答案。使用结果前还要检查位置是否越界,以及当前位置的值是否相等。
Python defaultdict:访问缺失键为何新增记录
defaultdict能在缺失键被索引访问时创建默认值。于是一个看似读取的表达式,也可能改变容器内容;如果只想查询是否存在,需要选对访问方式。
Python pickle安全:反序列化不可信数据的风险
pickle用于序列化Python对象,但加载过程不能视为普通文本解析。Python官方明确提醒,不要反序列化不可信或可能被篡改的pickle数据,因为加载时可能执行代码。
Python all([])为何为True:空集合与条件判断
使用all检查一批记录是否合格时,空输入会返回True。它表示没有遇到不满足条件的元素,不表示这批数据真的包含了合格记录。需要非空的业务规则必须单独表达。




