91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python中list能不能嵌套

發布時間:2020-08-03 16:24:21 來源:億速云 閱讀:149 作者:清晨 欄目:編程語言

小編給大家分享一下python中list能不能嵌套,相信大部分人都還不怎么了解,因此分享這篇文章給大家學習,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去學習方法吧!

python中的列表是可以嵌套的。將嵌套的list遍歷并輸出是很常見的需求。以下通過兩種方法達到目的

def nested_list(list_raw,result):
    for item in list_raw:
        if isinstance(item, list):
            nested_list(item,result)
        else:
            result.append(item)
    return  result   
def flatten_list(nested):
    if isinstance(nested, list):
        for sublist in nested:
            for item in flatten_list(sublist):
                yield item
    else:
        yield nested
def main():   
    list_raw = ["a",["b","c",["d"]]]
    result = []
    print "nested_list is:  ",nested_list(list_raw,result)
    print "flatten_list is: ",list(flatten_list(list_raw))
main()

讓代碼run起來,輸出為:

nested_list is:   ['a', 'b', 'c', 'd']
flatten_list is:  ['a', 'b', 'c', 'd']

nested_list方法采用遞歸的方式,如果item是list類型,繼續遞歸調用自身。如果不是,將item加入結果列表中即可。

flatten_list方法則是采用生成器的方式,本質上也是遞歸的思路。

推薦學習《python教程》

2.兩層嵌套list去重

list里面套了一層list,需要去重,并在生成一個去重的list。請看代碼:

def dup_remove_set(list_raw):
    result = set()
    for sublist in list_raw:
        item = set(sublist)
        result = result.union(item)
    return list(result)
def main():  
    list_dup = [[1,2,3],[1,2,4,5],[5,6,7]]
    print dup_remove_set(list_dup)

讓代碼run起來:

[1, 2, 3, 4, 5, 6, 7]

基本思路:將每一個子list轉為set,然后求并集,即可。

3.多重嵌套去重

def dup_remove(list_raw,result):
    for item in list_raw:
        if isinstance(item, list):
            dup_remove(item,result)
        else:
            result.add(item)
    return  list(result)
def main():   
    list_raw = ["a",["b","c",["d","a","b"]]]
    result = set()
    print "dup_remove is:  ",dup_remove(list_raw,result)

讓代碼run起來:

dup_remove is:   ['a', 'c', 'b', 'd']

基本思路與之前遍歷嵌套list的思路差不多,唯一的區別就是之前result是一個list,而要去重的話用result是一個set,保證最后的結果為去重的結果。

以上是python中list能不能嵌套的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敖汉旗| 霍州市| 沛县| 图木舒克市| 偏关县| 沽源县| 林西县| 垣曲县| 嵩明县| 肥西县| 麻阳| 慈利县| 来安县| 伊通| 双鸭山市| 卫辉市| 兰坪| 石台县| 东兰县| 喀什市| 鄄城县| 岑巩县| 和硕县| 巴林右旗| 随州市| 沙洋县| 泸州市| 临武县| 繁昌县| 虹口区| 麻阳| 贵阳市| 惠安县| 阳泉市| 行唐县| 班戈县| 松原市| 延庆县| 江门市| 依安县| 陆河县|