📜  Python| List of Lists 中第 k 列的乘积(1)

📅  最后修改于: 2023-12-03 15:34:14.942000             🧑  作者: Mango

Python | List of Lists 中第 k 列的乘积

当需要对一个列表中的多个子列表中的某一列进行操作时,可以使用列表推导式Lambda表达式来实现。

假设已有一个名为my_list的List of Lists(二维列表):

my_list = [[1,2,3], [4,5,6], [7,8,9]]

要求计算my_list中的第k列的乘积,可以使用以下代码:

k = 2
column_k = [my_list[i][k] for i in range(len(my_list))]
product_k = reduce(lambda x, y: x*y, column_k)
print(product_k)

输出结果为:

162
  • 列表推导式

通过列表推导式,可以生成一个由所有子列表的第k个元素组成的列表column_k。

column_k = [my_list[i][k] for i in range(len(my_list))]
  • reduce()函数和Lambda表达式

在从 column_k 中生成的列表的所有值被提取后,可以使用reduce()函数和Lambda表达式计算第k列的乘积。

在这里使用的reduce()函数和Lambda表达式的组合将列表中的所有元素相乘。

product_k = reduce(lambda x, y: x*y, column_k)

这条语句将对整个列表进行reduction(缩减),使用Lambda表达式进行每个值的乘法,最终输出第k列的乘积。

这是一个简单且有效的方法来计算List of Lists中的任意列的乘积,可应用于更复杂的数据结构中。