亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

Python對兩個有序列表進行合并和排序的例子

2020-02-23 05:26:45
字體:
來源:轉載
供稿:網友

假設有2個有序列表l1、l2,如何效率比較高的將2個list合并并保持有序狀態,這里默認排序是正序。

思路是比較簡單的,無非是依次比較l1和l2頭部第一個元素,將比較小的放在一個新的列表中,以此類推,直到所有的元素都被放到新的列表中。

考慮2個列表l1 = [2], l2 = [1],如何將他們合并呢?(注意:下面實現會改變l1和l2本來的值)
代碼如下:
def signle_merge_sort(l1, l2):
    tmp = []
    if l1[0] < l2[0]:
        tmp.append(l1[0])
        tmp.extend(l2)
        del l2[0]
    else:
        tmp.append(l2[0])
        tmp.extend(l1)
        del l1[0]
    return tmp
這真的只能處理一個元素的情形,還不能解決問題,不過好歹我們有一個大概的思路了。如果有列表中2個元素,上面的方法就不行了。我們需要解決邊界判斷問題,即當l1或者l2有一個為空的時,將剩下的一個list加到排序結果的尾部。然后確保函數每次調用只處理一個元素,通過遞歸來解決問題。
代碼如下:
def recursion_merge_sort1(l1, l2):
    tmp = []
    if len(l1) == 0:
        tmp.extend(l2)
        return tmp
    elif len(l2) == 0:
        tmp.extend(l1)
        return tmp
    else:
        if l1[0] < l2[0]:
            tmp.append(l1[0])
            del l1[0]
        else:
            tmp.append(l2[0])
            del l2[0]
        tmp += recursion_merge_sort1(l1, l2)
    return tmp
上面的程序有2個問題:if判斷太多;每次都要初始化tmp,對內存使用似乎不太友好。考慮到程序在l1或者l2有一個為空的時候就終止,可以稍微改寫一下:
代碼如下:
def _recursion_merge_sort2(l1, l2, tmp):
    if len(l1) == 0 or len(l2) == 0:
        tmp.extend(l1)
        tmp.extend(l2)
        return tmp
    else:
        if l1[0] < l2[0]:
            tmp.append(l1[0])

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人免费av电影| 精品亚洲一区二区三区在线播放| 91久久久久久| 国产精品黄色av| 国产在线精品一区免费香蕉| 欧美电影免费观看大全| 精品福利在线观看| 色悠悠久久88| 欧美大学生性色视频| 欧美大尺度电影在线观看| 成人福利在线观看| 国内精品400部情侣激情| 亚洲国产精品久久久| 亚洲欧美国产制服动漫| 精品国产鲁一鲁一区二区张丽| 国产美女精品视频免费观看| 91在线高清视频| 欧美国产亚洲视频| 91精品国产九九九久久久亚洲| 久久6免费高清热精品| 成人国产精品久久久| 91视频免费在线| 日韩电影在线观看免费| 91精品国产沙发| 国产一区二区av| 自拍偷拍亚洲欧美| 欧美大码xxxx| 国产精品视频免费在线观看| 日本一欧美一欧美一亚洲视频| 中文字幕日韩欧美在线视频| 国产精品美女无圣光视频| 亚洲欧美日韩国产精品| 国产精品视频久久| 综合国产在线观看| 国产va免费精品高清在线| 欧美日韩第一页| 亚洲一区二区三区乱码aⅴ| 日韩精品极品在线观看播放免费视频| 国产91精品久| 午夜精品一区二区三区视频免费看| 亚洲第一色中文字幕| 亚洲另类欧美自拍| 91国产视频在线播放| 日韩一区在线视频| 国内成人精品一区| 97avcom| 精品久久久久久久久久久久| 91久久国产综合久久91精品网站| 亚洲香蕉成视频在线观看| 91精品国产乱码久久久久久久久| 久久在线视频在线| 亚洲香蕉伊综合在人在线视看| 日韩中文字幕视频在线| 亚洲深夜福利视频| 中文字幕精品www乱入免费视频| 欧美交受高潮1| 欧美另类精品xxxx孕妇| 国产中文字幕91| 国产精品美女www爽爽爽视频| 日韩精品视频免费| 久久久av亚洲男天堂| 久久精品久久久久| 亚洲国产精品嫩草影院久久| 国产人妖伪娘一区91| 国产精品27p| 91社区国产高清| 日韩欧美成人免费视频| y97精品国产97久久久久久| 92福利视频午夜1000合集在线观看| 中文一区二区视频| 欧美另类极品videosbest最新版本| 亚洲第一国产精品| 精品久久久在线观看| 亚洲欧美日韩第一区| 日韩亚洲欧美成人| 亚洲人成电影在线播放| 少妇av一区二区三区| 久久综合国产精品台湾中文娱乐网| 国内精品小视频在线观看| 亚洲亚裔videos黑人hd| 成人www视频在线观看| 91精品中国老女人| 国产精品69久久久久| 91成人在线视频| 中文字幕v亚洲ⅴv天堂| 91福利视频网| 日韩欧美国产中文字幕| 久久激情视频免费观看| 国产精品久久久久久一区二区| 欧美电影免费观看高清完整| 国产久一一精品| 日韩中文第一页| 亚洲xxxxx性| 丝袜一区二区三区| 全亚洲最色的网站在线观看| 久久精品国产99国产精品澳门| 亚洲a在线播放| 欧美激情区在线播放| 欧美视频二区36p| 成人两性免费视频| 91精品视频观看| 尤物九九久久国产精品的分类| 国产99视频在线观看| 亚洲999一在线观看www| 欧美放荡办公室videos4k| 一区二区三区视频观看| 黄色91在线观看| 国产精品免费小视频| 日韩大片免费观看视频播放| 4438全国亚洲精品在线观看视频| 78m国产成人精品视频| 欧美成人久久久| 日韩成人av网址| 国产精品久久久久国产a级| 亚洲第一精品夜夜躁人人爽| 色阁综合伊人av| 欧美极品少妇xxxxⅹ喷水| 久久频这里精品99香蕉| 欧美视频在线观看 亚洲欧| 91影院在线免费观看视频| 疯狂蹂躏欧美一区二区精品| 欧美亚洲一区在线| 欧洲精品在线视频| 懂色av中文一区二区三区天美| 在线日韩中文字幕| 色777狠狠综合秋免鲁丝| 久久精品色欧美aⅴ一区二区| 国产成人精品a视频一区www| 性欧美亚洲xxxx乳在线观看| 国产精品久久久久99| 孩xxxx性bbbb欧美| 亚洲天堂视频在线观看| 午夜欧美不卡精品aaaaa| 亚洲激情 国产| 亚洲一区二区黄| 亚洲偷熟乱区亚洲香蕉av| 亚洲精品视频免费在线观看| 欧美激情18p| 国产日韩在线一区| 国产精品尤物福利片在线观看| 亚洲伊人久久综合| 亚洲黄色在线看| 青青青国产精品一区二区| 奇米一区二区三区四区久久| 欧美日韩另类在线| 97久久久久久| 亚洲免费高清视频| 久久久久久噜噜噜久久久精品| 欧美午夜性色大片在线观看| 久久夜色精品亚洲噜噜国产mv| 久久久中精品2020中文| 日韩最新中文字幕电影免费看| 精品久久久久久国产91| 在线播放国产一区中文字幕剧情欧美| 亚洲男人的天堂网站| 高清欧美性猛交xxxx黑人猛交| 精品自拍视频在线观看| 国产69精品久久久久9999| 亚洲午夜色婷婷在线| 日本久久久a级免费| 久久国产精品亚洲| 国产脚交av在线一区二区| 日韩有码在线视频| 午夜精品一区二区三区在线视|