我想为不同大小的部分计算集合的总和:
d = (1, 2, 3, 4, 5, 6, 7, 8, 9)
sz = (2, 3, 4)
# here I expect 1+2=3, 3+4+5=12, 6+7+8+9=30
itd = iter(d)
result = tuple( sum(tuple(next(itd) for i in range(s))) for s in sz )
print("result = {}".format(result))
我想知道我想出的解决方案是否是实现我想要的最“pythonic”(优雅、可读、简洁)的方式......
特别是,我想知道是否有办法摆脱单独的迭代器“itd”,以及使用切片是否更容易?