如何通过python将字符串转换为特定格式?

时间:2018-12-25 09:00:05

标签: python

如何通过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]]"

2 个答案:

答案 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