列表推导式写了三层嵌套,同事说你在写APL方言
有些代码,写出来就不是给人看的
Python 的列表推导式(List Comprehension)确实香,一行顶五行的快感坊比双十一清空购物车。但是你见过三层嵌套的列表推导式吗?
朋友,这不是写代码,这是写加密算法。三个月后的你回来看这段代码,表情会是:(⊙_⊙)。
黄金法则是:如果它放不进一行 80 字符的终端,就别硬塞了。嵌套循环超过两层,请乖乖用普通 for 循环。
还有一个陷阱叫“推导式里的海象运算符(:=)”,如果你以为这能让代码更简洁——醒醒,只会让你的 Code Review 变成批斗大会。
更推荐的做法是:短推导式直接用,长逻辑拆函数。Python 之禅说“可读性计数”,不是“一行代码解决问题计数”。你写的东西未来可能被另一个倒霉蛋维护,那个倒霉蛋很可能就是你自己。