av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)Python教程:python中l(wèi)ist可以嵌套嗎

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

公司主營業(yè)務:網(wǎng)站設計制作、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出龍?zhí)睹赓M做網(wǎng)站回饋大家。

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類型,繼續(xù)遞歸調用自身。如果不是,將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的思路差不多,唯一的區(qū)別就是之前result是一個list,而要去重的話用result是一個set,保證最后的結果為去重的結果。


分享文章:創(chuàng)新互聯(lián)Python教程:python中l(wèi)ist可以嵌套嗎
分享URL:http://uogjgqi.cn/article/djodpei.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流