解析表示元组列表的字符串

2022-01-20 00:00:00 python string data-structures tuples eval

问题描述

我的字符串看起来像这样:

I have strings which look like this one:

"(8, 12.25), (13, 15), (16.75, 18.5)"

我想将它们中的每一个都转换成 python 数据结构.最好是包含一对浮点值的元组列表(或元组).

and I would like to convert each of them into a python data structure. Preferably a list (or tuple) of tuples containing a pair of float values.

我可以用 eval("(8, 12.25), (13, 15), (16.75, 18.5)") 来做到这一点,它给了我一个元组的元组,但我没有认为天真地评估外部信息将是一个明智的决定.

I could do that with eval("(8, 12.25), (13, 15), (16.75, 18.5)") which gives me a tuple of tuples, but I don't think naively evaluating external information would be a wise decision.

所以我想知道一个优雅的 Pythonic 解决方案会是什么样子.

So I wondered what an elegant pythonic solution might look like.


解决方案

>>> import ast
>>> print ast.literal_eval("(8, 12.25), (13, 15), (16.75, 18.5)")
((8, 12.25), (13, 15), (16.75, 18.5))

相关文章