Skip to content Skip to sidebar Skip to footer

Python: String To A List Of Lists

I'm new to python and confused about converting a string to a list. I'm unsure how to create a list within a list to accomplish the following: Ex. string = '2,4,6,8|10,12,14,16|1

Solution 1:

>>> text = '2,4,6,8|10,12,14,16|18,20,22,24'>>> my_data = [x.split(',') for x in text.split('|')]
>>> my_data
[['2', '4', '6', '8'], ['10', '12', '14', '16'], ['18', '20', '22', '24']]
>>> print my_data[1][2]
14

Maybe you also want to convert each digit (still strings) to int, in which case I would do this:

>>> [[int(y) for y in x.split(',')] for x in text.split('|')]
[[2, 4, 6, 8], [10, 12, 14, 16], [18, 20, 22, 24]]

Solution 2:

>>>strs = '2,4,6,8|10,12,14,16|18,20,22,24'>>>strs1=strs.split('|')>>>[map(int,x.split(',')) for x in strs1] 
[[2, 4, 6, 8], [10, 12, 14, 16], [18, 20, 22, 24]]

Note: for python 3.x use list(map(int,x.split(','))), as map() returns a map object in python 3.x

Post a Comment for "Python: String To A List Of Lists"