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

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

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

    DANCE WITH JAVA

    開發出高質量的系統

    常用鏈接

    統計

    積分與排名

    好友之家

    最新評論

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

    Python中很長用的數據結構是dict,在使用的過程中總會遇到這樣的問題:你想有序的遍歷一個dict

    需求一,無序遍歷dict中的內容,實現方式如下:

    ?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中的內容,但dict是無序的,所以要實現只能用list過渡

    ?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

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

    ?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


    說明:
    在不通過版本的python中dict的默認順序是不同的,編碼時,特別是修改或者二次開發的時候,
    應注意這個情況。可能會造成bug
    例如一下四個字段,在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) 評論(1)  編輯  收藏 所屬分類: 片段

    評論

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

    要是要按照字典的value排序呢?  回復  更多評論   

    主站蜘蛛池模板: 国产亚洲精aa成人网站| 亚洲成人免费电影| 一区二区免费视频| 亚洲成a人片在线不卡| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲VA综合VA国产产VA中| 中文字幕无线码中文字幕免费| 97se亚洲综合在线| 又黄又爽的视频免费看| 久久精品国产大片免费观看| 亚洲精品自偷自拍无码| 亚洲精品乱码久久久久久 | 免费又黄又硬又爽大片| 无码午夜成人1000部免费视频| 亚洲国产欧美一区二区三区| 久久亚洲高清观看| 国产免费69成人精品视频| 性无码免费一区二区三区在线| 亚洲AV日韩AV一区二区三曲| 亚洲av成人无码久久精品| 免费h成人黄漫画嘿咻破解版| 久久ww精品w免费人成| CAOPORM国产精品视频免费| 自拍日韩亚洲一区在线| 亚洲国产精品无码久久久秋霞2| 成人毛片免费播放| 十九岁在线观看免费完整版电影| 国产尤物在线视精品在亚洲| 亚洲第一页在线视频| 中文字幕亚洲无线码a| 青青草国产免费久久久下载| 国产91色综合久久免费| 久久国产免费观看精品| 日本特黄特色AAA大片免费| 亚洲综合一区国产精品| 久久精品国产亚洲AV无码娇色| 在线亚洲97se亚洲综合在线| 日本牲交大片免费观看| 久久久久久久久免费看无码| 一级毛片全部免费播放| 中文字幕乱码系列免费|