<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排序呢?  回復  更多評論   

    主站蜘蛛池模板: 亚洲免费人成在线视频观看| 免费日韩在线视频| 色播亚洲视频在线观看| 成av免费大片黄在线观看| 免费99热在线观看| 免费人成大片在线观看播放| 亚洲?V乱码久久精品蜜桃 | 91在线视频免费观看| 国产成人精品日本亚洲专区| 一个人看的www视频免费在线观看| 亚洲日本一区二区一本一道| 亚洲精品视频免费观看| 亚洲一区二区三区AV无码| 在线人成免费视频69国产| 亚洲精品在线不卡| 好男人视频在线观看免费看片| 亚洲精品久久无码| 免费一级毛片清高播放| 中文字幕免费播放| 亚洲视频在线观看不卡| 成年男女免费视频网站| 亚洲AV无码片一区二区三区| 亚洲人成网站在线观看青青| 精品国产麻豆免费人成网站| 亚洲专区中文字幕| 哒哒哒免费视频观看在线www| 中文字幕av无码不卡免费| 亚洲视频在线观看网址| 国产精品冒白浆免费视频| CAOPORM国产精品视频免费| 78成人精品电影在线播放日韩精品电影一区亚洲 | 色婷婷六月亚洲综合香蕉| 亚洲一级特黄无码片| 色欲A∨无码蜜臀AV免费播| 欧洲 亚洲 国产图片综合| 亚洲欧洲国产成人综合在线观看 | 国产亚洲综合久久系列| 永久免费的网站在线观看| yellow视频免费看| 亚洲成人黄色在线观看| 亚洲裸男gv网站|