Python 使用列表中的第二个值在for循环的初始运行期间执行操作

Python 使用列表中的第二个值在for循环的初始运行期间执行操作,python,dictionary,Python,Dictionary,如何根据列表中的值调用字典中的某个值 list_a = ['S', 'D', 'E'] dict_list = {'S': [('A', 8), ('B', 4), ('D', 6)], 'D': [('C', 5,), ('E', 3)], } for i in list_a: print(i) 因为我想把'S'的值加到'D',然后把'D'的值加到'E' 对于这个例子,我想要的答案是9。基本上S到D=6,D到E=3。让我们使用 list_a = ['S', 'D', 'E'] d

如何根据
列表中的值调用字典中的某个值

list_a = ['S', 'D', 'E']

dict_list = {'S': [('A', 8), ('B', 4), ('D', 6)], 'D': [('C', 5,), ('E', 3)], }

for i in list_a:
    print(i)
因为我想把'S'的值加到'D',然后把'D'的值加到'E'

对于这个例子,我想要的答案是9。基本上S到D=6,D到E=3。让我们使用

list_a = ['S', 'D', 'E']
dict_list = {'S': [('A', 8), ('B', 4), ('D', 6)], 'D': [('C', 5), ('E', 3)]}

sum(dict(dict_list[x])[y] for x, y in zip(list_a, list_a[1:]))
# 9
这样做的目的是获得成对的索引,从相应的条目中提取值,然后求和总数


如果密钥可能不存在,您可以使用change
dict(dict_list[x])[y]
dict(dict_list.get(x,{})。get(y,0)

请添加您的预期输出,这将非常有用。9.基本上S到D=6,D到E=3