如何通过python将字符串转换为特定格式?
原始字符串如下:
"['13.85,16.60', '12.85,17.46', '17.85,16.42']"
想要转换为这种格式:
"[(13.85,16.60), (12.85,17.46), (17.85,16.42)]"
或者这种格式也可以:
"[[13.85,16.60], [12.85,17.46], [17.85,16.42]]"
答案 0 :(得分:1)
您可以使用ast.literal_eval
执行此操作(假设使用当前的Python 3版本):
>>> s = "['13.85,16.60', '12.85,17.46', '17.85,16.42']"
>>> import ast
>>> new_s = "[" + ", ".join(f"({item})" for item in ast.literal_eval(s)) + "]"
>>> new_s
'[(13.85,16.60), (12.85,17.46), (17.85,16.42)]'
答案 1 :(得分:-1)
以下内容是您的要求:
str([[eval(y) for y in x.split(',')] for x in eval(a)])
>> '[[13.85, 16.6], [12.85, 17.46], [17.85, 16.42]]'
不过请注意eval!