我有一个包含几对2D坐标点的字符串,如下所示:
input = '(1, 2), (3, 5.5), (7, -2), (16, 0), (5, 3)'
我想用这个字符串结束两个列表,名为X和Y,这两个列表分别包含字符串中点的X和Y坐标(按其原始顺序):
输出:
X = ['1', '3', '7', '16', '5']
Y = ['2', '5.5', '-2', '0', '3']
我如何使用Python3来做这件事?
发布于 2018-06-16 00:51:12
在中使用zip
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)
如果您将输出设置为列表,则可以使用:
x, y = map(list, zip(*ast.literal_eval(s)))
https://stackoverflow.com/questions/50879786
复制相似问题