2017-09-27 128 views
-1

如何unnest一個嵌套列表或拼合一個嵌套列表。在python 3中編輯嵌套列表

,這樣,

servers = [["10.10.10.10" , "20.20.20.20"] ,["30.30.30.30"] , ["40.40.40.40", "50.50.50.50"] , ["60.60.60.60"],["70.70.70.70"]] 

變,

servers = ["10.10.10.10" , "20.20.20.20"] ,["30.30.30.30"] , ["40.40.40.40", "50.50.50.50"] , ["60.60.60.60"],["70.70.70.70"] 

所有幫助歡迎感謝

+0

將['服務器=列表(鏈( *服務器))'](https://docs.python.org/3/library/itertools.html#itertools.chain)就夠了嗎? – Felk

回答

2

但你能指望什麼類型的數據?通過定義

x = item1, item2 

您得到一個元組。

(["10.10.10.10" , "20.20.20.20"] ,["30.30.30.30"] , ["40.40.40.40", "50.50.50.50"] , ["60.60.60.60"],["70.70.70.70"]) 

或者您可以拼合你列出:

servers = [el for item in servers for el in item] 

但隨後你將得到:您可以通過

servers = tuple(servers) 

這讓你列表轉換爲元組

["10.10.10.10" , "20.20.20.20" ,"30.30.30.30" , "40.40.40.40", "50.50.50.50" , "60.60.60.60","70.70.70.70"] 
+0

我只需要「鬆開」外部支架,以便我可以將列表壓縮到另一個列表。我從來沒有意識到我可以使用tuple命令。完全展平列表不在我想要實現的範圍內,因爲我打算稍後使用zip函數。 – degixer

0

你根本不可能有這樣的方式。 當你說

a = 1, 2, 3 
print(a) 

它輸出

(1, 2, 3) 

所以您可以具有元組或列表,但不是沒有()或[]