如何将字符串格式化为两列列表

时间:2011-06-30 15:24:02

标签: python string list

我有一个python字符串,格式如下:

"x1 y1\n x2 y2\n x3 y3\n ..."

我想将其转换为列表points = [p1, p2, p3,...],其中p1p2p3[x1,y1][x2,y2]和{ {1}}等等。

由于

5 个答案:

答案 0 :(得分:6)

认为您可以使用以下内容:

inputText = "x1 y1\n x2 y2\n x3 y3\n"
print [line.split() for line in inputText.split('\n') if line]

答案 1 :(得分:2)

显然,有很多方法可以做到这一点。

我会将列表理解用于其中。

>>> str = 'x1 y1\n x2 y2\n x3 y3\n'
>>> [p.split() for p in str.split('\n') if p != ''] 
[['x1', 'y1'], ['x2', 'y2'], ['x3', 'y3']]

答案 2 :(得分:0)

points = []
for point in myStr.split('\n'):
    points.append(point.split())

答案 3 :(得分:0)

a='x1 y1\n x2 y2\n x3 y3\n'

points = map (lambda x : x.split (), a.split ('\n'))

答案 4 :(得分:0)

这会吗?

>>> raw = "x1 y1\nx2 y2\nx3 y3"
>>> lines = raw.split("\n")
>>> points = []
>>> for l in lines:
...     points.append(l.split(' '))
... 
>>> points
[['x1', 'y1'], ['x2', 'y2'], ['x3', 'y3']]
>>>

在新行上拆分,然后为每一行假设一个空格拆分值,从中创建一个点列表。