Nic*_*440 2 python string list coordinates python-3.x
我有一个包含几对2D坐标点的字符串,如下所示:
input = '(1, 2), (3, 5.5), (7, -2), (16, 0), (5, 3)'
Run Code Online (Sandbox Code Playgroud)
我想取这个字符串并最后得到两个名为X和Y的列表,它们分别包含字符串中各点的X和Y坐标(按原始顺序排列):
输出:
X = ['1', '3', '7', '16', '5']
Y = ['2', '5.5', '-2', '0', '3']
Run Code Online (Sandbox Code Playgroud)
我怎么能用Python 3做到这一点?
使用zip与ast.literal_eval
s = '(1, 2), (3, 5.5), (7, -2), (16, 0), (5, 3)'
x, y = zip(*ast.literal_eval(s))
x
(1, 3, 7, 16, 5)
y
(2, 5.5, -2, 0, 3)
Run Code Online (Sandbox Code Playgroud)
如果您将输出设置为列表,则可以使用:
x, y = map(list, zip(*ast.literal_eval(s)))
Run Code Online (Sandbox Code Playgroud)