Python 中列表中的列表自定义乘法
在 Python 中相乘两个列表在许多数据分析计算中可能是必需的。在本文中,我们将介绍如何将列表中的列表(也称为嵌套列表)的元素乘以另一个列表。
使用循环
在此方法中,我们设计了两个嵌套循环,一个在另一个内部。外层循环跟踪列表中元素的数量,内层循环跟踪嵌套列表中的每个元素。我们使用 * 运算符将第二个列表的元素与嵌套列表的相应元素相乘。
范例
listA = [[2, 11, 5], [3, 2, 8], [11, 9, 8]] multipliers = [5, 11, 0] # Original list print("The given list: " ,listA) # Multiplier list print(" Multiplier list : " ,multipliers ) # using loops res = [[] for idx in range(len(listA))] for i in range(len(listA)): for j in range(len(multipliers)): res[i] += [multipliers[i] * listA[i][j]] #Result print("Result of multiplication : ",res)
输出
运行上述代码会产生以下结果 -
The given list: [[2, 11, 5], [3, 2, 8], [11, 9, 8]] Multiplier list : [5, 11, 0] Result of multiplication : [[10, 55, 25], [33, 22, 88], [0, 0, 0]]
借助枚举
可以使用枚举方法来获取嵌套列表的每个元素,然后使用 for 循环来执行乘法。
范例
listA = [[2, 11, 5], [3, 2, 8], [11, 9, 8]] multipliers = [5, 11, 0] # Original list print("The given list: " + str(listA)) # Multiplier list print(" Multiplier list : " ,multipliers ) # Using enumerate res = [[multipliers[i] * j for j in x] for i, x in enumerate(listA)] #Result print("Result of multiplication : ",res)
输出
运行上述代码会产生以下结果 -
The given list: [[2, 11, 5], [3, 2, 8], [11, 9, 8]] Multiplier list : [5, 11, 0] Result of multiplication : [[10, 55, 25], [33, 22, 88], [0, 0, 0]]
广告