亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python嵌套列表轉一維的方法(壓平嵌套列表)

系統 1852 0

前一段去云英面試,技術官很”不厚道“了問了一個非常簡單的問題:如何將多維列表轉化了一維的?當時雖然想到了使用迭代或者列表生成式可以做到,但是可以沒能可行的代碼,回來后一頓后悔。

對于規范的且嵌套維度較低的多維列表,python中有很多方法可以實現:

            
a=[[1,2],[3,4],[5,6]]
print [j for i in li for j in i]
#or
from itertools import chain
print list(chain(*a))
#or
import itertools
a = [[1,2,3],[4,5,6], [7], [8,9]]
out = list(itertools.chain.from_iterable(a))
#or
a=[[1,2],[3,4],[5,6]]
t=[]
[t.extend(i) for i in a]
print t
#or
a=[[1,2],[3,4],[5,6]]
print sum(a,[])
#or
reduce(lambda x, y: x+ y, a)
          

對于復雜的多維嵌套列表就需要使用一些復雜的方法:

            
#遞歸的方法比較容易理解
def expand_list(nested_list):
  for item in nested_list:
    if isinstance(item, (list, tuple)):
      for sub_item in expand_list(item):
        yield sub_item
    else:
      yield item
      
#在stackoverflow看到大牛的列表生成式版本
func = lambda x: [y for l in x for y in func(l)] if type(x) is list else [x]
#生成式的方法還有很多,可以自行摸索
          

對于使用python2.X的童鞋,還可以使用flatten函數來做:

            
>>> d=[1,2,3,[4,5],[6,7,[8,9]]]
>>>from compiler.ast import flatten
>>>flatten(a)
[1, 2, 3, 4, 5, 6,7,8,9]
          

其實上邊列舉的方法僅僅是冰山一角,大海下的冰山就等這童鞋們自行去尋找挖掘了。

以上這篇Python嵌套列表轉一維的方法(壓平嵌套列表)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲第一永久色 | 亚洲国产99在线精品一区二区 | 性欧美video另类bd | 久久99热国产这有精品 | 国产精品亚洲综合一区 | 国产免费区 | 一级黄色录像视频 | 成人一a毛片免费视频 | 欧美国产亚洲一区 | 久久精品免费一区二区三区 | 国产在线成人a | 亚洲国产精品欧美日韩一区二区 | 人成在线免费视频 | 久久精品国产99久久99久久久 | 99精品视频不卡在线观看免费 | 咪咪色网| 中文字幕区 | 免费中日高清无专码有限公司 | 四虎精品影视 | 日韩欧美黄色 | 精品三区| 午夜色大片在线观看 | 色天使久久综合网天天 | 国产青草视频免费观看97 | 国产真实一区二区三区 | 久久6国产 | 亚洲成人高清在线观看 | 五月婷婷激情综合网 | 波多野结衣高清在线播放 | 国产理论精品 | 欧美日韩一区二区亚洲 | 91手机视频在线观看 | 日韩精品视频一区二区三区 | 午夜性福 | 黄色网址视频在线播放 | se视频在线| 欧美大片天天免费看视频 | 国产操穴| 日本精品久久久久中文字幕2 | 看真人视频一一级毛片 | 久久久精品久久久久三级 |