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 千次瀏覽量

開啟您的 職業

透過完成課程獲得認證

開始
廣告
© . All rights reserved.