Python论坛  - 讨论区

标题:[python-chinese] [tip]字典排序

2007年05月21日 星期一 18:35

Zoom.Quiet zoom.quiet在gmail.com
星期一 五月 21 18:35:44 HKT 2007

非常经典的需求,一直以为自个儿会的...
e.g
myDict ={"url12.html":12
    ,"url1112.html":212
    ,"url346.html":1333
    ,"url222.html":12
...}
期望按照值的排序进行输出,值有可能一样;
原先以为可以使用外部数组排序后比对输出的,因为值可能重复才发觉不成;
询问 xyb,dreamingk 才知道,原来有内置函式支持的!
"""sorted( iterable[, cmp[, key[, reverse]]])
    Return a new sorted list from the items in iterable. The optional
arguments cmp, key, and reverse have the same meaning as those for the
list.sort() method. New in version 2.4.
"""
从2.4 开始数组的排序可以指定键位置!
所以:
for k, v in sorted(myDict.items()
    , key=lambda x: x[1]
    ,reverse=True):
    print k,v
就可以获得从大到小的排序字典输出了

要仔细看内置函式哪....

-- 
'''Time is unimportant, only life important!
http://zoomquiet.org
blog在http://blog.zoomquiet.org/pyblosxom/
wiki在http://wiki.woodpecker.org.cn/moin/ZoomQuiet
scrap在http://floss.zoomquiet.org
douban在http://www.douban.com/people/zoomq/
____________________________________
Pls. use OpenOffice.org to replace M$ Office.
     http://zh.openoffice.org
Pls. use 7-zip to replace WinRAR/WinZip.
     http://7-zip.org/zh-cn/
You can get the truely Freedom 4 software.
'''

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号