技术与生活 / 一篇记录
列表推导式:短一点,也要读得懂
推导式适合筛选和映射,逻辑复杂时显式循环更容易阅读。
简单筛选后再转换,是列表推导式最合适的场景。它会立即构建完整列表;当输入很大或后续只消费少数元素时,内存开销也需要纳入选择。
操作与观察
以下示例使用 Python 3,文件路径和输入值均为练习样本。
numbers = [1, 2, 3, 4]
print([n * n for n in numbers if n % 2 == 0])
示例应输出 4 和 16,再测试空列表。
先用普通循环写清逻辑,再判断推导式是否更清晰。若表达式开始包含多重条件、嵌套循环或状态修改,保留显式循环通常更便于排查。
推导式会保留表达式的计算结果,而不仅是筛选后的原值。检查时应分别确认过滤条件和转换函数,尤其是输入类型可能变化时,别让字符串数字与整数混用造成隐性偏差。
别遗漏这条边界
不要为了缩短行数,把多层副作用塞进推导式。
参考:Python 文档。