Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

How to realize the Sum of Multi-dimensional list by Python

Shulou Source: shulou.com Published: 2022-06-01 11:43:11 10月04日 Update

This article introduces the knowledge about "Python how to achieve multidimensional list summation". In the actual case operation process, many people will encounter such difficulties. Next, let Xiaobian lead you to learn how to deal with these situations! I hope you can read carefully and learn something!

For simple lists, such as [1, 2, 3], the sum is simple, just sum.

But for multidimensional ones, such as [[1, 2, 3], [4, 5, 6], [7], [8, 9]], how do you sum them up?

Here DE8UG introduces two methods. The first one is easy to think of, which is to sum recursively layer by layer like peeling onions.

The second way is to take advantage of some good things inside Python.

Method 1, recursive operation, step by step to process 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 Method 2: First flatten the list, then sum directly

There are many ways to smooth lists here. Let's look at two itertools.chain and sum.

itertools.chain can be done by static methods or directly by class initialization functions.

The trick with sum is to put the first argument into the list and the second argument directly into [], which directly smoothes the list.

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)

Finally, add the list directly and you're done.

"Python how to achieve multidimensional list sum" content is introduced here, thank you for reading. If you want to know more about industry-related knowledge, you can pay attention to the website. Xiaobian will output more high-quality practical articles for everyone!

Tags: Methods multidimensional content parameters methods more knowledge recursion practicality learning and then things two functions dilemmas reality that is situations skills articles Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Redmi MariaDB Docker vpn OPPO Reno