溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何求列表對應元素的乘積和

發(fā)布時間:2021-04-01 11:21:55 來源:億速云 閱讀:678 作者:小新 欄目:開發(fā)技術

這篇文章給大家分享的是有關python如何求列表對應元素的乘積和的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

那天偶爾看到看到一個小問題:兩個不等長列表a=[1,2,3],b=[4,5,6,7],求它們對應元素的乘積的和。

我一開始想到的方法就是選擇更小數(shù)組作為循環(huán)長度然后相乘求和:

a = [1,2,3]
b = [4,5,6,7]
sum = 0
for i in range(0,min(len(a),len(b))):
 number += a[i]*b[i]
print(sum)

但是后來我想到了一種更為巧妙的方法,利用函數(shù)zip():

a = [1,2,3]
b = [4,5,6,7]
all = zip(a,b)
num = 0
for i,j in all:
 num += i*j
print(num)

兩種方法的結果完全相同

zip()函數(shù)的作用是將列表打包為元組列表,以上述兩個列表為例:

a = [1,2,3]
b = [4,5,6,7]
all = zip(a,b)

這時的“all”實際上是這樣的形式:

[(1, 4), (2, 5), (3, 6)]

很有意思的小實例,順便學習了一個函數(shù)

補充:Python 計算列表元素之積

定義一個數(shù)字列表,并計算列表元素之積。

例如:

輸入 : list1 = [1, 2, 3]
輸出 : 6
計算:1 * 2 * 3
實例 1

def multiplyList(myList) :
   
  result = 1
  for x in myList:
     result = result * x 
  return result 
   
list1 = [1, 2, 3] 
list2 = [3, 2, 4]
print(multiplyList(list1))
print(multiplyList(list2))

以上實例輸出結果為:

6
24

采用遞歸方法:

def list_product(list_1,size):
  if size == 0:
    return 1  
  else:
    return list_1[size-1] * list_product(list_1,size - 1)


list_1 = [i for i in range(3,6)] #生成列表[3,4,5]
print(list_1)
print(list_product(list_1,len(list_1)))

感謝各位的閱讀!關于“python如何求列表對應元素的乘積和”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI