s =['(2,-1)','(2,2)']这是2个坐标,我如何将它们转换为这种形式,以便变量x1,x2,y1,y2包含它们的值(不使用外部库)x1,y1 = 2,-1x2、y2 = 2,2我是这样想的
for i in range(len(s)-1): p1 = s[i] p2 = s[i+1] print p1 ,p2
bzzcjhmw1#
可以使用ast.literal_eval从字符串创建元组。
ast.literal_eval
from ast import literal_eval # ... x1, y1 = literal_eval(s[i]) x2, y2 = literal_eval(s[i+1]) print(x1, y1, x2, y2)
或者,删除第一个和最后一个字符,在逗号处拆分,并将每个部分转换为int。
def parts(s): return map(int, s[1:-1].split(',')) # ... x1, y1 = parts(s[i]) x2, y2 = parts(s[i+1])
gkn4icbw2#
可以使用解析来解析字符串列表
# You can replace int by float if needed x1, y1, x2, y2 = [int(j) for i in s for j in i[1:-1].split(',')] print(x1, y1) print(x2, y2) # Output 2 -1 2 2
2条答案
按热度按时间bzzcjhmw1#
可以使用
ast.literal_eval
从字符串创建元组。或者,删除第一个和最后一个字符,在逗号处拆分,并将每个部分转换为int。
gkn4icbw2#
可以使用解析来解析字符串列表