Python 如何将数组中键的值添加到字典中?

Python 如何将数组中键的值添加到字典中?,python,arrays,dictionary,Python,Arrays,Dictionary,嗨,我的字典是这样的 {'A':[3,4,7],'B':[4,9,9],'C':[3,4,5],'D':[2,2,6],'E':[6,7,9],'F':[2,4,5]} 如何在数组中添加值(数字)(它们已经是整数形式),以便将总数写入数组中。在此之后,我将如何对字典进行排序,以使最低的总数排在第一位 我需要对其进行排序,因为用户将输入数据以进入这些数组。要对值求和,您可以使用对数据进行循环。items()将在每次迭代时返回键及其关联值: s = {'A': [3, 4, 7], 'B': [4,

嗨,我的字典是这样的

{'A':[3,4,7],'B':[4,9,9],'C':[3,4,5],'D':[2,2,6],'E':[6,7,9],'F':[2,4,5]}

如何在数组中添加值(数字)(它们已经是整数形式),以便将总数写入数组中。在此之后,我将如何对字典进行排序,以使最低的总数排在第一位


我需要对其进行排序,因为用户将输入数据以进入这些数组。

要对值求和,您可以使用
对数据进行循环。items()
将在每次迭代时返回键及其关联值:

s = {'A': [3, 4, 7], 'B': [4, 9, 9], 'C': [3, 4, 5], 'D': [2, 2, 6], 'E': [6, 7, 9], 'F': [2, 4, 5]}
new_dict = {}
for a, b in s.items():
   new_dict[a] = sum(b) #here, using sum function to get the total of all elements
字典是未排序的,但是,您可以将数据保留为以下格式:

final_data = sorted(new_dict.items(), key=lambda x:x[-1])
final_output = final_data[2:]
print(final_output)

这就是您想要的,并给出以下解释:

#!/usr/bin/env python3.6


def main():
    nums = {'A': [3, 4, 7], 'B': [4, 9, 9], 'C': [3, 4, 5], 'D': [2, 2, 6], 'E': [6, 7, 9], 'F': [2, 4, 5]}

    for key in nums.keys():
        nums[key] = sum(nums[key])

    print(nums)


if __name__ == "__main__":
    main()

所以我们在这里做的是在dict中的键上循环,然后重新分配该键,使其等于它的元素之和。您无法对dict进行排序,因此这里不涉及排序。你为什么还要对它进行排序?

请尽量简化代码,因为我是初学者。谢谢。这不是免费的代码编写服务。请学习如何写有效的问题。@somebrick如果你自己尝试,但做不好,在问题中表明你已经尝试了一些东西,这里的人会更好地尝试帮助你。看,这个问题是不明确的。是否将字典中每个数组的值相加,并创建一个新的字典,将这些值用作值?根据定义,字典是未排序的,那么你想对它进行排序是什么意思呢?你的意思是你想要一个
OrderedDict
,还是你想要一个与
'A'
关联的最小总和?请参阅编辑的帖子,很抱歉,这些值将被输入,因此你不能在不使用导入功能的情况下使用if语句,还有什么方法可以根据数组中的总数从字典中提取key+值呢?@somebrick请查看我最近的edit.works@Ajax1234,我将如何dict.pop字典中的第一个和第二个索引?@somebrick你的意思是想从
最终数据中删除前两个值吗?@somebrick你需要写一个明确的,简洁的问题,说明你想从什么开始,而不是不断地增加额外的要求的问题。如果这对你原来的问题有效,你应该接受它,并打开一个新的问题进行跟进。