Python中的切片和求和字典

2024-04-19 18:38:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把字典的值加在由键分割的字典部分上。下面的例子是断章取义的。我试着把代码简化成基本的东西。最后一行描述了这个问题。我试着对一些句点进行切片,然后对这些值求和。你知道吗

TypeError: unhashable type: 'slice'

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])

Tags: 代码infor字典type切片slicerange
1条回答
网友
1楼 · 发布于 2024-04-19 18:38:59

你的语法用字典是不可能的。但是您可以定义一个函数来执行求和:

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,

相关问题 更多 >