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
我们还可以使用python模块名称抽象语法树或称为ast。它具有一个名为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']]