gpt4 book ai didi

python - 在不使用 Eval 的情况下将字符串转换为 Python 中的列表?

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:47 26 4
gpt4 key购买 nike

我有一个字符串,像这样:[['Cheese', 72], ['Milk', 45], ['Bread', 22]]"

我想将其转换为列表。我知道我可以使用 eval(string) 来获取列表,但是 eval 吓到我了,因为它有可能造成灾难(并且因为我可以获得非列表作为有效输出)。还有另一种更明智/更安全的方法可以将此字符串转换为列表吗?我知道这是一个列表,任何不是列表的都是无效数据(应该检查和/或抛出错误)。

最佳答案

如果你坚持这样做,你可以使用ast.literal_eval函数。

>>> import ast
>>> foo = "[['Cheese', 72], ['Milk', 45], ['Bread', 22]]"
>>> ast.literal_eval(foo)
[['Cheese', 72], ['Milk', 45], ['Bread', 22]]

我敢肯定其他人会告诉您您可能做错了什么,或者使用像 JSON 这样的库来传输像这样的任意数据结构,我不会反对。

关于python - 在不使用 Eval 的情况下将字符串转换为 Python 中的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19578777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com