在Python中切片和汇总字典

问题描述 投票:0回答:1

我想将字典值加到按键切片的字典部分上。以下示例不在上下文中。我试图将代码减少到必要的东西。问题在最后一行中描述。我尝试切片多个句点并对值进行求和。

TypeError:不可用类型:'sl​​ice'

stuff = [38, 255, 837]

dict = {}

for t in range(50):
    dict[t] = [(stuff[i] / (1.03)**t) for i in range(3)]

    sum(dict[int(t):int(t+5)][0])
python dictionary slice
1个回答
0
投票

使用字典无法使用语法。但是您可以定义一个函数来执行求和:

stuff = [38, 255, 837]

d = {t: [(stuff[i] / (1.03)**t) for i in range(3)] for t in range(50)}

def slice_sum(d, start, end, i=0):
    return sum(v[i] for k, v in d.items() if start <= k < end)

result = {n: slice_sum(d, n, n+5) for n in range(50)}

# {0: 179.24973930679405,
#  1: 174.02887311339228,
#  2: 168.960070983876,
#  3: 164.03890386784076,
#  4: 159.26107171635024,
#  5: 154.62239972461188,
© www.soinside.com 2019 - 2024. All rights reserved.