skyshine725
V2EX  ›  问与答

python3 怎么取字典里最后一个 key

  •  
  •   skyshine725 · Oct 28, 2018 · 9155 views
    This topic created in 2800 days ago, the information mentioned may be changed or developed.
    d = {19: 7, 31: 6, 28: 5, 16: 5, 32: 5, 2: 4, 24: 4, 29: 4, 6: 4, 18: 4, 15: 4, 12: 4}
    字典是排序好的,实际会有几千个,但要用的只是最后一个 key。
    怎么取最后这个 key 呢。
    Supplement 1  ·  Oct 29, 2018
    我就是用 collections.Counter 排序的。
    排序后字典中 value 是按降序的,它在我这里表示出现最少的概率,,
    所以我只要最后一个 key (就是出现概率最少的 key )
    19 replies    2018-10-29 13:24:09 +08:00
    lhx2008
        1
    lhx2008  
       Oct 28, 2018
    dict.keys()[-1]
    Qzier
        2
    Qzier  
       Oct 28, 2018 via iPhone
    字典是无序的
    0ZXYDDu796nVCFxq
        3
    0ZXYDDu796nVCFxq  
       Oct 28, 2018 via Android
    3.6 开始是有序的,但不保证顺序固定
    Trim21
        4
    Trim21  
       Oct 28, 2018
    @gstqc #3 3.7 开始已经保证了
    Osk
        5
    Osk  
       Oct 28, 2018
    sorted(dict)[-1] ???

    这样就不用依赖特定 python 版本的实现了.
    Yourshell
        6
    Yourshell  
       Oct 28, 2018
    你知道怎么排序不知道怎么取最后一个也是神奇
    ppyybb
        7
    ppyybb  
       Oct 28, 2018 via iPhone
    怎么定义最后:
    1 最后放进去的
    2 按照 key 排序最后一个

    如果是 1 的话那么自己封装一个,是 2 依赖 python 版本,楼上已经讲的很清楚了
    jingniao
        8
    jingniao  
       Oct 28, 2018 via Android
    3.7 保证的是最后的是放进去的顺序吧
    holyghost
        9
    holyghost  
       Oct 28, 2018
    你需要一个 PHP
    Wincer
        10
    Wincer  
       Oct 28, 2018 via Android
    不要用字典,字典是无序的,用 orderdict
    veightz
        11
    veightz  
       Oct 28, 2018 via Android   ❤️ 2
    看到下面诸多评论,我对这门语言感到更窒息了。。
    ericls
        12
    ericls  
       Oct 28, 2018 via iPhone
    @Trim21 只是 cpython 保证吧?
    thinker3
        13
    thinker3  
       Oct 28, 2018
    @veightz 不会用而已,取字典里最后一个 key 是伪需求
    sikariba
        14
    sikariba  
       Oct 28, 2018
    @ericls #12 貌似 PyPy 很早就有了,CPython 从 3.6 开始支持。现在从 3.7 开始是整个 python 的 language feature 了
    SuperMild
        15
    SuperMild  
       Oct 28, 2018
    python 3.7 保证的顺序是 LIFO, 这与楼主所说的“排序”可能不是一回事,楼主说的“最后一个”不知道具体是指什么顺序的“最后”。
    xschaoya
        16
    xschaoya  
       Oct 29, 2018 via Android
    collections 模块了解一下,有序字典结构
    skyshine725
        17
    skyshine725  
    OP
       Oct 29, 2018
    dict.keys()[-1]
    TypeError: 'dict_keys' object does not support indexing
    dbw9580
        18
    dbw9580  
       Oct 29, 2018 via Android   ❤️ 1
    skyshine725
        19
    skyshine725  
    OP
       Oct 29, 2018
    你那什么网址,打开乱七八糟的网站
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2740 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 10:09 · PVG 18:09 · LAX 03:09 · JFK 06:09
    ♥ Do have faith in what you're doing.