gpt4 book ai didi

python - 根据值对字典进行排序

转载 作者:太空宇宙 更新时间:2023-11-04 07:37:29 24 4
gpt4 key购买 nike

我搜索了基于值对 Python 字典进行排序,并在互联网上得到了各种答案。尝试了其中的几个,最后使用了 Sorted 函数。我简化了示例以使其清楚。我有一本字典,说:

temp_dict = {'1': '40', '0': '109', '3': '37', '2': '42', '5': '26', '4': '45', '7': '109', '6': '42'}

现在,为了根据值对其进行排序,我执行了以下操作(使用 Operator 模块):

sorted_temp_dict = sorted(temp_dict.items(), key=operator.itemgetter(1))

我得到的结果是(结果是一个元组,这对我来说没问题):

[('0', '109'), ('7', '109'), ('5', '26'), ('3', '37'), ('1', '40'), ('2', '42'), ('6', '42'), ('4', '45')]

问题是,如您所见,元组的前两个元素未排序。其余元素根据值完美排序。无法在此处找到错误。任何帮助都会很棒。谢谢

最佳答案

那些是排序的。它们是字符串,并按字典顺序排序:“1”在“2”之前,依此类推。

如果要按数值排序,则需要在 key 函数中转换为 int。例如:

sorted(temp_dict.items(), key=lambda x: int(x[1]))

关于python - 根据值对字典进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31398815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com