Python 的老派风格!。我创建了这个函数,它接受一个列表作为参数,并返回一个新列表,其中包含前一个元素的总和。希望能帮到你
def sum_list(list_numbers):
index = 0
list2 = [list_numbers[index]]
while index < (len(list_numbers) - 1):
item = list_numbers[index] + list_numbers[index + 1]
list2.append(item)
index += 1
return list2
print(sum_list(list1))
输出:
[145, 245, 225, 259, 690]
编辑:我想用递归方法挑战自己。也许这不是最好的方法,但在这里:
list2 = []
def sum_list_recursion(first_element, list_numbers, max_length):
if len(list_numbers) == 0:
return list2
elif len(list_numbers) == max_length:
list2.append(first_element)
next_element = list_numbers[0]
list_numbers = list_numbers[1:]
else:
next_element = list_numbers[0]
list_numbers = list_numbers[1:]
list2.append((first_element + next_element))
sum_list_recursion(next_element, list_numbers, max_length)
sum_list_recursion(list1[0], list1, len(list1))
print(list2)
输出:
[145, 245, 225, 259, 690]