这里我有一个元组列表,每当key为空时,我都想将对应值添加到它以前的元组值中。你知道吗
我可以用传统的方法来实现,但它看起来很难看, 有什么方法可以达到同样的效果吗?你知道吗
输入:
data= [('A', 12), ('', 1), ('B', 12), ('', 1), ('C', 12), ('', 1), ('D', 13)]
预期产量:
[13, 26, 39, 52]
我的代码:
data = [('A', 12), ('', 1), ('B', 12), ('', 1), ('C', 12), ('', 1), ('D', 13)]
init = 0 ; splitdata = []
for i in data:
init = init+i[1]
if i[0] == '':
splitdata.append(init)
splitdata.append(init)
print(splitdata)
[13, 26, 39, 52]
使用reduce可以执行以下操作:
这个减少。。。你知道吗
colLabelGrouped
中第一项的值组成的初始列表开始,然后colLabelGrouped
中的剩余项减少。。。下面是一个使用accumulate函数和list comprehensions的略短的方法(它可能也更可读):
相关问题 更多 >
编程相关推荐