 Open in App
Not now

# Python | Convert given list into nested list

• Last Updated : 02 Jan, 2023

Some times, we come over the data that is in string format in a list and it is required to convert it into a list of the list. This kind of problem of converting a list of strings to nested list is quite common in web development. Let’s discuss certain ways in which this can be performed.

Method #1: Using iteration

## Python3

 `# Python code to convert list``# of string into list of list` `# List initialization``Input` `=` `[``'Geeeks, Forgeeks'``, ``'65.7492, 62.5405'``,``         ``'Geeks, 123'``, ``'555.7492, 152.5406'``]``         ` `temp ``=` `[]` `# Getting elem in list of list format``for` `elem ``in` `Input``:``    ``temp2 ``=` `elem.split(``', '``)``    ``temp.append((temp2))` `# List initialization``Output ``=` `[]` `# Using Iteration to convert``# element into list of list``for` `elem ``in` `temp:``    ``temp3 ``=` `[]``    ``for` `elem2 ``in` `elem:``        ``temp3.append(elem2)``    ``Output.append(temp3)` `# printing``print``(Output)`

Output:

[[‘Geeeks’, ‘Forgeeks’], [‘65.7492’, ‘62.5405’], [‘Geeks’, ‘123’], [‘555.7492’, ‘152.5406’]]

Method #2 : Using ast [list with numeric values]

## Python3

 `# Python code to convert list``# of string into list of list` `# importing``import` `ast` `# List Initialization``Input` `=` `[``'12, 454'``, ``'15.72, 82.85'``, ``'52.236, 25256'``, ``'95.9492, 72.906'``]` `# using ast to convert``Output ``=` `[``list``(ast.literal_eval(x)) ``for` `x ``in` `Input``]` `# printing``print``(Output)`

Output:

[[12, 454], [15.72, 82.85], [52.236, 25256], [95.9492, 72.906]]

Method #3: Using map()+split()+lambda

We use the map function to apply a function (in this case, the split function) to each element in a list (in this case, the list of strings). The map function returns an iterator that applies the function to each element of the list, and returns the results as a new iterator.

To obtain the final result as a list, we use the list function to convert the iterator returned by map into a list.

## Python3

 `#initializing list of strings``Input` `=` `[``'Geeeks, Forgeeks'``, ``'65.7492, 62.5405'``,``'Geeks, 123'``, ``'555.7492, 152.5406'``]``#use the map function to apply the split function to each string in the list``Output ``=` `list``(``map``(``lambda` `x: x.split(``', '``), ``Input``))` `print``(``"Result: "``+``str``(Output))``# Output: [['Geeeks', 'Forgeeks'], ['65.7492', '62.5405'], ['Geeks', '123'], ['555.7492', '152.5406']]``#This code is contributed by Edula Vinay Kumar Reddy`

Output

`Result: [['Geeeks', 'Forgeeks'], ['65.7492', '62.5405'], ['Geeks', '123'], ['555.7492', '152.5406']]`

Time complexity: O(n)

Auxiliary Space: O(n)

My Personal Notes arrow_drop_up