<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)論   

    主站蜘蛛池模板: 亚洲最大的成网4438| 伊人久久亚洲综合| 亚洲裸男gv网站| 亚洲精品国产成人片| 91亚洲va在线天线va天堂va国产 | 1000部啪啪毛片免费看| 成人免费视频69| 在线看片无码永久免费aⅴ| AV在线播放日韩亚洲欧| 亚洲av无码一区二区三区不卡| 亚洲avav天堂av在线不卡| 国产精品亚洲精品青青青| 看免费毛片天天看| 久久国产精品成人免费| 免费A级毛片无码免费视| 亚洲国产一区二区三区| 亚洲视频在线免费观看| 亚洲国产综合精品中文第一| 免费人妻精品一区二区三区| 日韩免费观看一区| 在线精品免费视频| 国产亚洲av片在线观看16女人 | 亚洲第一极品精品无码久久| 亚洲不卡视频在线观看| 青青久久精品国产免费看| 亚洲视频在线免费观看| 日韩在线免费看网站| 亚洲精品无码国产| 亚洲国产乱码最新视频| 精品久久久久久无码免费| 国产免费不卡v片在线观看| 亚洲一级特黄大片无码毛片| 亚洲成电影在线观看青青| 免费播放国产性色生活片| 8x网站免费入口在线观看| 免费a在线观看播放| 综合自拍亚洲综合图不卡区| 精品在线免费视频| 日本免费一区二区在线观看| 久久精品亚洲乱码伦伦中文| 亚洲国产乱码最新视频|