【发布时间】:2019-12-01 17:08:22
【问题描述】:
我想把一个字符串,例如这个:“1,2,3;2,3,4;3,4,5”变成一个矩阵(列表中的列表)。 我已经尝试使用 string.split() 函数,但我似乎无法弄清楚。对我来说,主要问题是两者都有;并且,这与我的代码混淆了。
【问题讨论】:
标签: python-3.x string matrix
我想把一个字符串,例如这个:“1,2,3;2,3,4;3,4,5”变成一个矩阵(列表中的列表)。 我已经尝试使用 string.split() 函数,但我似乎无法弄清楚。对我来说,主要问题是两者都有;并且,这与我的代码混淆了。
【问题讨论】:
标签: python-3.x string matrix
以下逻辑将为您提供给定输入字符串的列表。
x='1,2,3;2,3,4;3,4,5'
lst= [[int(x) for x in m.split(',')] for m in x.split(';')]
【讨论】:
这太可怕了,但它似乎有效:
[ [ item for item in row.split(',') ] for row in "1,2,3;2,3,4;3,4,5".split(';') ]
不过,我建议将此 a 写为 for 循环:
result = []
for row in"1,2,3;2,3,4;3,4,5".split(';'):
result.append(row.split(','))
【讨论】:
如果逗号和分号在功能上相同,这比循环/拆分两次要简单得多:
x = "1,2,3;2,3,4;3,4,5"
result = x.replace(";", ",").split(",")
基本上简化了场景,将其全部设为逗号,然后拆分。
【讨论】: