溫馨提示×

溫馨提示×

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

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

Python怎么實現多維列表求和

發布時間:2021-12-17 17:47:35 來源:億速云 閱讀:548 作者:iii 欄目:大數據

本篇內容介紹了“Python怎么實現多維列表求和”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

對于簡單的列表,比如[1, 2, 3],求和很簡單,直接sum就可以了。

但是對于多維的,比如[[1, 2, 3], [4, 5, 6], [7], [8, 9]],該怎么求和呢?

這里DE8UG介紹兩種方法,第一種很好想,就是像剝洋蔥一樣一層層的遞歸求和。

第二種方法,就需要利用一些Python內部的好東西了。

方法1,遞歸操作,層層遞進來處理

def recursive_list_sum(data_list):
total = 0
for element in data_list:
if type(element) == list:
total = total + recursive_list_sum(element)
else:
total = total + element

return total

方法2,先鋪平列表,然后直接求和

這里鋪平列表的方式就多了,我們看兩個itertools.chain和sum

其中itertools.chain可以用靜態方法也可以直接用類的初始化函數來搞定。

sum的小技巧是第一個參數放列表,第二個參數直接寫[], 這種方式直接把列表鋪平。

import itertools

list2d = [[1, 2, 3], [4, 5, 6], [7], [8, 9]]
# a = list(itertools.chain.from_iterable(list2d))  # call staticmethod from_iterable
a = list(itertools.chain(*list2d))   # init an object
b = sum(list2d, [])
print(a, b)

最后在把列表直接sum一下就搞定了。

“Python怎么實現多維列表求和”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女