gpt4 book ai didi

python - 将列表的字符串表示形式转换为列表

转载 作者:行者123 更新时间:2023-11-28 21:41:34 25 4
gpt4 key购买 nike

list_string = "[1,3,4,6]"

我尝试了 list_string[1:-1] 但它给出的是 1,3,4,6。我还尝试了 list_string.split(',') 但括号将再次附加到第一个和最后一个元素,即 '[1' , '3' , '4' , '6] '

我可以遍历所有项目并从第一个和最后一个元素中删除括号。但最好和最简单的方法是什么?

最佳答案

假设您的字符串是一个简单的列表/字典/列表和字典的组合,您可以使用下面提到的两个包之一,按优先顺序列出。

json

>>> import json
>>> json.loads('[1, 2, 3]')
[1, 2, 3]

如果您要解析原始 json 字符串,这绝对是首选方法。


ast.literal_eval

>>> import ast
>>> ast.literal_eval('[1, 2, 3]')
[1, 2, 3]

ast.literal_eval 将安全地评估表达式节点或包含 Python 文字或容器显示的字符串。提供的字符串或节点只能由以下 Python 文字结构组成:字符串、字节、数字、元组、列表、字典、集合、 bool 值、无、字节和集合。

还有 json.loads is significantly faster than ast.literal_eval .仅当您不能首先使用 json 模块时才使用它。


yaml

在某些情况下,您还可以使用 pyYAML 库(您需要先使用 PyPi 安装它)。

>>> import yaml
>>> yaml.safe_load('[1, 2, 3]')
[1, 2, 3]

关于python - 将列表的字符串表示形式转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44672561/

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