[英]i have a list of numbers and a certain sum, and i need to calculate the possible number of ways to generate that sum
[英]I have an list, sum the similar number
list = [1,1,4,4,4,0,1]
new_list = []
sum_ = 0
for number in list:
if number == number+1:
sum_ += number
else:
sum_ += number
new_list.append(sum_)
print(new_list)
输出 => [1, 2, 6, 10, 14, 14, 15]
预期 => [2, 12, 0, 1]
检查此代码:
my_list = [1,1,4,4,4,0,1]
my_sum = my_list[0]
my_results = []
for i in range(1, len(my_list)):
if my_list[i] == my_list[i-1]:
my_sum += my_list[i]
else:
my_results.append(my_sum)
my_sum = my_list[i]
else:
my_results.append(my_sum)
我首先将my_sum
初始化为列表的第一个元素,然后扫描列表的其余元素,始终比较相邻元素的相等性。 如果它们相等, my_sum
更新my_sum
,如果它们不相等,则my_sum
首先存储到输出列表my_results
,然后重新初始化为原始列表中的新数字。
该代码计算连续相同数字的数量并将这些数字乘以它们的数量
numbers = [1, 1, 4, 4, 4, 0, 1]
hook, cnt, out = numbers[0], 0, []
for i in numbers:
if i == hook:
cnt += 1
else:
out.append(hook * cnt)
hook, cnt = i, 1
out.append(hook * cnt)
print(out) # [2, 12, 0, 1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.