我有一个字符串,其中包含若干对二维坐标点,格式如下:
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']
我该如何使用Python 3来完成这个任务?
我有一个字符串,其中包含若干对二维坐标点,格式如下:
input = '(1, 2), (3, 5.5), (7, -2), (16, 0), (5, 3)'
输出:
X = ['1', '3', '7', '16', '5']
Y = ['2', '5.5', '-2', '0', '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)
x, y = map(list, zip(*ast.literal_eval(s)))
import ast
。 - modesitt
input
。这会覆盖内置函数。 - user3483203