python和其他一些(函数式)编程语言的主要优点之一是
list comprehension
. 它们允许程序员在一行中编写复杂的表达式。它们一开始可能会让人困惑,但如果习惯了语法,就比嵌套复杂for循环好得多。
尽管如此,请与我分享清单理解的一些最酷的用法。(酷,我的意思是有用的)它可能是一些编程比赛,或生产系统。
例如:
做矩阵的转置
mat
>>> mat = [
... [1, 2, 3],
... [4, 5, 6],
... [7, 8, 9],
... ]
>>> [[row[i] for row in mat] for i in [0, 1, 2]]
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
请包括表达式的描述和使用位置(如果可能)。