python list壓縮成1維

2021-10-04 19:39:04 字數 1577 閱讀 4734

對於規範的且巢狀維度較低的多維列表,python中有很多方法可以實現:

a=[[

1,2],[

3,4],[

5,6]]

print [j

for i

in li

for j

in i]

#orfrom itertools

import chain

print list(chain(*a))

#orimport itertools

a = [[

1,2,

3],[

4,5,

6], [

7], [

8,9]]

out = list(itertools.chain.from_iterable(a))

#ora=[[

1,2],[

3,4],[

5,6]]

t=[t.extend(i)

for i

in a]

print t

#ora=[[

1,2],[

3,4],[

5,6]]

print sum(a,)

#orreduce(

lambda x, y: x+ y, a)

對於複雜的多維巢狀列表就需要使用一些複雜的方法:

#遞迴的方法比較容易理解

defexpand_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]

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

java 壓縮成gz檔案

public class gziputil catch filenotfoundexception e gzipoutputstream out null try catch ioexception e byte buf new byte 1024 int len 0 try in.close lo...

Python實現加密壓縮成RAR或ZIP檔案

博主在前兩篇博文分別介紹了加密rar檔案的解壓和加密zip檔案的解壓後面又開始嘗試了兩類檔案的加密壓縮,在查閱相關資料後,發現rarfile庫和zipfile庫都不支援加密壓縮,只能實現普通壓縮,因此另謀他路,發現可以呼叫cmd命令進行壓縮,下面將分別介紹rar和zip檔案的加密壓縮。呼叫壓縮成ra...

jar 解壓縮後重新壓縮成jar包。

cmd 在jar 解壓縮的目錄下 輸入 jar cvf0m name.jar 就能重新打包成jar。一.jar命令引數 jar命令格式 jar v m e 0 m i c 目錄 檔名.其中這四個引數必須選選其一。v f m e 0 m i 是可選引數,檔名也是必須的。c 建立乙個jar包 t 顯示j...