<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    DANCE WITH JAVA

    開發(fā)出高質(zhì)量的系統(tǒng)

    常用鏈接

    統(tǒng)計(jì)

    積分與排名

    好友之家

    最新評(píng)論

    Python 中dict的有序輸出(排序)

    Python中很長(zhǎng)用的數(shù)據(jù)結(jié)構(gòu)是dict,在使用的過(guò)程中總會(huì)遇到這樣的問(wèn)題:你想有序的遍歷一個(gè)dict

    需求一,無(wú)序遍歷dict中的內(nèi)容,實(shí)現(xiàn)方式如下:

    ?1 # !/ usr / local / bin / python
    ?2 MAP_TEST? = ? {
    ?3 ???????????? ' a ' : ' aa ' ,
    ?4 ???????????? ' b ' : ' bb ' ,
    ?5 ???????????? ' c ' : ' cc ' ,???????????
    ?6 ???????????? ' d ' : ' dd ' ,
    ?7 }

    ?8 def?main():
    ?9 ??? for ?i?in?MAP_TEST.keys():
    10 ??????print?i + " : " + MAP_TEST[i]
    11
    12 if ?__name__? == ? ' __main__ ' :
    13 ????main()
    14

    ?

    需求二,有序遍歷dict中的內(nèi)容,但dict是無(wú)序的,所以要實(shí)現(xiàn)只能用list過(guò)渡

    ?1 # !/ usr / local / bin / python
    ?2 MAP_TEST? = ? {
    ?3 ???????????? ' a ' : ' aa ' ,
    ?4 ???????????? ' b ' : ' bb ' ,
    ?5 ???????????? ' c ' : ' cc ' ,???????????
    ?6 ???????????? ' d ' : ' dd ' ,
    ?7 }

    ?8 def?main():
    ?9 ?items? = ?MAP_TEST.keys()
    10 ?items.sort();
    11 ???? for ?i?in?items:
    12 ???????print?i + " : " + MAP_TEST[i]
    13
    14 if ?__name__? == ? ' __main__ ' :
    15 ????main()
    16 ????
    17
    18

    需求三,按照自定義的順序排列,實(shí)現(xiàn)如下,在sortfunc中實(shí)現(xiàn)你自己的排序方法
    本例實(shí)現(xiàn)了倒序排列

    ?1 # !/ usr / local / bin / python
    ?2 MAP_TEST? = ? {
    ?3 ???????????? ' a ' : ' aa ' ,
    ?4 ???????????? ' b ' : ' bb ' ,
    ?5 ???????????? ' c ' : ' cc ' ,???????????
    ?6 ???????????? ' d ' : ' dd ' ,
    ?7 }

    ?8 def?sortfunc(x,y):
    ?9 ?????? return ?cmp(y,x);
    10 ???
    11 def?main():
    12 ???items? = ?MAP_TEST.keys()
    13 ???items.sort(sortfunc);
    14 ??? for ?i?in?items:
    15 ??????print?i + " : " + MAP_TEST[i]
    16
    17 if ?__name__? == ? ' __main__ ' :
    18 ????main()
    19
    20


    說(shuō)明:
    在不通過(guò)版本的python中dict的默認(rèn)順序是不同的,編碼時(shí),特別是修改或者二次開發(fā)的時(shí)候,
    應(yīng)注意這個(gè)情況??赡軙?huì)造成bug
    例如一下四個(gè)字段,在1.5? 2.2.3?? 2.4.3中排序不同,分別如下
    1.5:
    edifact
    flat-encoded
    vessel
    flat-decoded

    2.2.3:
    flat-decoded
    vessel
    flat-encoded
    edifact

    Python 2.4.3
    edifact
    flat-decoded
    flat-encoded
    vessel

    posted on 2006-11-09 11:14 dreamstone 閱讀(10271) 評(píng)論(1)  編輯  收藏 所屬分類: 片段

    評(píng)論

    # re: Python 中dict的有序輸出(排序) 2012-04-05 14:49 瘋子

    要是要按照字典的value排序呢?  回復(fù)  更多評(píng)論   

    主站蜘蛛池模板: 亚洲国产一二三精品无码| 亚洲人成影院在线高清| 99re免费99re在线视频手机版| 亚洲黄色免费在线观看| 在线中文高清资源免费观看| 免费人成网上在线观看| 亚洲欧洲免费视频| 免费看的黄色大片| 中国黄色免费网站| 亚洲av产在线精品亚洲第一站 | 亚洲片一区二区三区| 免费不卡在线观看AV| 青青青亚洲精品国产| 亚洲成年轻人电影网站www| 日韩免费高清一级毛片在线| 久久精品视频免费| MM1313亚洲精品无码久久| 亚洲av之男人的天堂网站| 爽爽日本在线视频免费| 久久国产精品免费专区| 国产av无码专区亚洲av毛片搜 | 中文字幕亚洲乱码熟女一区二区| 亚洲免费福利视频| 一级毛片在线完整免费观看| 亚洲国产精品免费在线观看| 亚洲国产精品一区二区第一页免 | 成人免费观看男女羞羞视频| 久久精品国产亚洲AV嫖农村妇女 | 又粗又硬免费毛片| 100部毛片免费全部播放完整| 水蜜桃视频在线观看免费| 33333在线亚洲| 久久国产亚洲精品麻豆| 国产高清在线精品免费软件| 亚洲免费电影网站| 日韩精品免费在线视频| 一日本道a高清免费播放| 亚洲AV无码一区二区三区牲色| 亚洲成综合人影院在院播放| 久久影视综合亚洲| www.91亚洲|