本篇內容介紹了“Python怎么實現多維列表求和”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
對于簡單的列表,比如[1, 2, 3],求和很簡單,直接sum就可以了。
但是對于多維的,比如[[1, 2, 3], [4, 5, 6], [7], [8, 9]],該怎么求和呢?
這里DE8UG介紹兩種方法,第一種很好想,就是像剝洋蔥一樣一層層的遞歸求和。
第二種方法,就需要利用一些Python內部的好東西了。
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
這里鋪平列表的方式就多了,我們看兩個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怎么實現多維列表求和”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。