python - 排序 OrderedDict 不起作用

标签 python sorting dictionary ordereddictionary

我正在尝试对有序字典进行排序,但没有运气。我尝试使用https://docs.python.org/2/library/collections.html#ordereddict-examples-and-recipes中找到的方法

        for d in results:
            print(d)

        d = OrderedDict(results)

        for key in d:
            print(d[key])

        hi = OrderedDict(sorted(d.items(), key=lambda t: t[0]))

        for key in hi:
            print(hi[key])

打印出来:

('GOOG/CPH_43740', -1.6749609142444124)
('GOOG/CPH_CARL_B', 0.66869383328307086)
('GOOG/CPH_CHR', 0.6270772411141563)
('GOOG/CPH_EGE_B', -0.89015989892984237)
('GOOG/CPH_GEN', 0.46485175444884497)

-1.67496091424
0.668693833283
0.627077241114
-0.89015989893
0.464851754449

-1.67496091424
0.668693833283
0.627077241114
-0.89015989893
0.464851754449

未按降序排序。我完全迷失在这里了吗?

最佳答案

假设您想要对元组中索引为 1 而不是 0 的数字进行排序:

    for d in results:
        print(d)

    d = OrderedDict(results)

    for key in d:
        print(d[key])

    hi = OrderedDict(sorted(d.items(), key=lambda t: t[1]))

    for key in hi:
        print(hi[key])

关于python - 排序 OrderedDict 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796411/

相关文章:

python - “langchain”不是一个包

Python 使用初始化文件和默认常量文件中的变量初始化类

java - Java中HashMap的排序

arrays - 如何快速对 Range<Index> 的数组进行排序?

javascript - Google 如何在未经用户许可的情况下获取当前位置

python - 查找多个嵌套字典之间的重叠

c++ - 对象在构造函数之后不存在?

python - 如何检测手中的物体?从这个视频

python - 如何在数组中将列彼此串联

java - 对列表进行排序取决于另一个排序列表,该列表具有一个共同的排序属性