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

更新于: 26-8-2020

2 千次浏览量

开启您的 职业

通过完成课程获得认证

开始
广告