Python 按带逗号和分号的字符串拆分为列表列表

Python 按带逗号和分号的字符串拆分为列表列表,python,string,list,Python,String,List,我有这样的字符串输入: 1,2000,5,1;1,2050,5,2;2,3000,10,3 [ [1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3], ...] 如何将其拆分为如下列表: 1,2000,5,1;1,2050,5,2;2,3000,10,3 [ [1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3], ...] 我试过正则表达式,但总是混淆逗号和分号。按照你说的做:先用分号,然后用

我有这样的字符串输入:

1,2000,5,1;1,2050,5,2;2,3000,10,3
[ [1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3], ...]
如何将其拆分为如下列表:

1,2000,5,1;1,2050,5,2;2,3000,10,3
[ [1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3], ...]

我试过正则表达式,但总是混淆逗号和分号。

按照你说的做:先用分号,然后用逗号分开

s = "1,2000,5,1;1,2050,5,2;2,3000,10,3"
[x.split(',') for x in s.split(';')]
#[['1', '2000', '5', '1'], ['1', '2050', '5', '2'], ['2', '3000', '10', '3']]
如果还需要数字列表,请将字符串转换为数字:

[list(map(int, x.split(','))) for x in s.split(';')]
#[[1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3]]

照你说的做:先用分号,然后用逗号分开

s = "1,2000,5,1;1,2050,5,2;2,3000,10,3"
[x.split(',') for x in s.split(';')]
#[['1', '2000', '5', '1'], ['1', '2050', '5', '2'], ['2', '3000', '10', '3']]
如果还需要数字列表,请将字符串转换为数字:

[list(map(int, x.split(','))) for x in s.split(';')]
#[[1, 2000, 5, 1], [1, 2050, 5, 2], [2, 3000, 10, 3]]