Python - 將給定的列表轉換為巢狀列表


在某些情況下,我們需要將列表中的元素本身轉換成一個列表。換句話說,建立一個列表,其元素也是列表。

使用迭代

這是將每個列表元素轉換成列表格式的新穎方法。我們使用臨時列表來實現此目的。最後,將所有轉換成列表的這些元素組合在一起建立所需的列表列表。

舉例

 即時演示

listA = ['Mon','Tue','Wed','Thu','Fri']

print("Given list:\n",listA)
new_list = []

# Creating list of list format
for elem in listA:
   temp = elem.split(', ')
   new_list.append((temp))

# Final list
res = []

for elem in new_list:
   temp = []
   for e in elem:
      temp.append(e)
   res.append(temp)

# printing
print("The list of lists:\n",res)

輸出

執行以上程式碼會得到以下結果 -

Given list:
   ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The list of lists:
   [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

使用 ast

我們還可以使用名為抽象語法樹或 ast 的 python 模組。它有一個名為 literal_eval 的函式,該函式將給定列表的元素組合在一起,並將其轉換為一個新列表。

舉例

 即時演示

import ast
listA = ['"Mon","Tue"','"Wed","Thu","Fri"']
print("Given list: \n", listA)
res = [list(ast.literal_eval(x)) for x in listA]

# New List
print("The list of lists:\n",res)

輸出

執行以上程式碼會得到以下結果 -

Given list:
   ['"Mon","Tue"', '"Wed","Thu","Fri"']
The list of lists:
   [['Mon', 'Tue'], ['Wed', 'Thu', 'Fri']]

更新於: 22-Jul-2020

1K+ 檢視

開啟您的 職業

透過完成課程取得認證

開始
廣告
© . All rights reserved.