添加两个sum()的返回值,例如sum()+ sum()并将其存储为新列表

时间:2017-09-13 18:53:36

标签: python list sum

a = map(int, raw_input().split())
n = len(a)
for i in range(0, n):
    start_sum = sum(a[0:i+1])  # to calculate sum of first i
    last_sum = sum(a[-(n-i):]) # to calculate sum of last n-i

现在我必须存储 start_sum last_sum 的总和,并将其存储在新列表b 中,其索引与 i相同。如下所示

b[i] = start_sum + last_sum

如何实现这一点。我是Python的新手。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:0)

一种解决方案可能是:

a = map(int, raw_input().split())
b = []
for i in range(0, n):
    start_sum = sum(a[0:i+1])  # to calculate sum of first i
    last_sum = sum(a[-(n-i):]) # to calculate sum of last n-i
    b.append(start_sum + last_sum)

其他解决方案是可能的...... 你遇到的问题是,b没有被创建为具有n个位置的列表,因此将某些内容放在i处会失败。

答案 1 :(得分:0)

第i个值将在前i个值和最后的n-i值中。其余的值只有一组。因此,如果您想要相同的功能,您可以这样做:

a_sum = sum(a)
b = [x+a_sum for x in a]