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]]