Python 增量子列表求和

Python 增量子列表求和

在增量子列表求和中,给定一个包含一些整数元素的列表,并允许通过某些特定的条件和迭代来添加前一个元素。在Python中,我们有一些内置函数,比如accumulate()、cumsum()和tolist(),可以用来解决增量子列表求和的问题。

让我们举个例子。

给定列表为:[10, 20, 30, 40, 50]

10:第0个索引

10 + 20 = 30:第1个索引

10 + 20 + 30 = 60:第2个索引

10 + 20 + 30 + 40 = 100:第3个索引

10 + 20 + 30 + 40 + 50 = 150:第4个索引

因此,最终的结果变为[10, 30, 60, 100, 150]

语法

示例中使用了以下语法-

sum()

sum()是Python中的内置函数,它允许对可迭代对象中的值进行相加。

range()

range()是Python中的内置函数,根据给定的范围返回数字序列。

len()

len() 是 Python 中的一个内置函数,用于返回结果的长度。

accumulate()

accumulate()是Python中的一个内置函数,它返回给定列表中可迭代元素的累加结果。

cumsum()

cumsum() 是 Python 中的一个内建函数,遵循 numpy 模块,在给定列表的可迭代元素上执行累积求和。这个函数在 Python 数据帧中经常用于计算每行的累积总和。

tolist()

tolist()是Python中的一个内置函数,它返回一系列列表。

使用循环

在下面的示例中,程序使用一个递归函数来调用自身。然后使用空列表result来存储程序的最终输出,该列表将在函数返回时使用。接下来,将current_sum的初始值设为0,该值将用于设置第一个索引元素。然后使用for循环,通过使用+=和append()计算递增的子列表和来迭代输入列表。最后,使用函数返回获取结果。

示例

def Inc_sublist_sum(lst):
    result = []
    current_sum = 0
    for num in lst:
        current_sum += num
        result.append(current_sum)
    return result
lst = [100, 50, 120, 60, 30, 40]
increment_sum = Inc_sublist_sum(lst)
print(increment_sum)

输出

[100, 150, 270, 330, 360, 400]

使用列表推导式

在下面的示例中,将使用列表推导式,其中内置函数sum()设置切片符号来计算递增子列表的和。使用for循环遍历列表的长度并返回结果。

示例

def Inc_sublist_sum(lst):
    return [sum(lst[:i+1]) for i in range(len(lst))]
# Create the list
lst = [78, 10, 88, 20]
increment_sum = Inc_sublist_sum(lst)
print(increment_sum)

输出

[78, 88, 176, 196]

使用itertools的accumulate

在下面的示例中,我们将从定义库itertools开始,并导入accumulate模块。然后,它将使用递归函数来提供Python内置的accumulate()函数,该函数会自动添加到可迭代元素中,并使用list()返回程序的输出。

示例

from itertools import accumulate
# recursive function
def Inc_sublist_sum(lst):
    return list(accumulate(lst))
# create the list
lst = [23, 43, 10]
# calling function
res = Inc_sublist_sum(lst)
print(res)

输出

[23, 66, 76]

使用Numpy

在下面的示例中,我们将通过导入名为numpy的模块,并将对象引用命名为np来启动程序。然后,它将使用递归函数,其中设置了内置函数cumsum()和tolist()来计算递增子列表和并返回结果。

示例

import numpy as np
# Recursive function
def Inc_sublist_sum(lst):
    return np.cumsum(lst).tolist()
# Create the list
lst = [11, 21, 31, 41, 51]
increment_sum = Inc_sublist_sum(lst)
print(increment_sum)

输出

[11, 32, 63, 104, 155]

结论

以上所有示例都代表了增量子列表求和,其中使用了一些内建的可迭代函数,如accumulate()、sum()、cumsum()和tolist()。理解这个示例最好的方法是使用简单的+=运算符,它有助于将列表的可迭代元素相加。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程