Python:字典嵌套列表中如何对各列表最后一个值求和?
解决字典嵌套列表最后一个元素求和的问题
我懂你现在的困惑啦,其实这个问题拆解开来很简单,咱们一步步来实现你要的功能:
首先,先把你给出的三个单独字典整理好,然后通过遍历的方式提取每个列表的最后一个值,再用sum()函数完成求和:
# 定义你的三个字典 milk_dict = {'milk': ['gallons', 5, 10, 50]} eggs_dict = {'eggs': ['cartons', 5, 2, 10]} bacon_dict = {'bacon': ['packages', 5, 7, 35]} # 把字典放到一个列表里,方便遍历 all_dicts = [milk_dict, eggs_dict, bacon_dict] # 求和:遍历每个字典,取出值列表的最后一个元素 total = sum(next(iter(d.values()))[-1] for d in all_dicts) # 打印结果 print(total) # 输出:95
代码解释:
next(iter(d.values())):因为每个字典只有一组键值对,用这个方法可以快速获取到对应的列表(比list(d.values())[0]更高效)[-1]:Python里列表的负索引可以直接取最后一个元素,非常方便sum():Python内置的求和函数,可以直接对生成器表达式的结果求和
如果之后你的字典结构变成一个包含多个键值对的大字典,比如{'milk': [...], 'eggs': [...], 'bacon': [...]},那代码可以更简洁:
big_dict = { 'milk': ['gallons', 5, 10, 50], 'eggs': ['cartons', 5, 2, 10], 'bacon': ['packages', 5, 7, 35] } total = sum(v[-1] for v in big_dict.values()) print(total) # 同样输出95
这样是不是就清晰多啦?
内容的提问来源于stack exchange,提问作者PolishZeus
相关产品推荐
相关产品推荐

