从字符串序列中提取列表

2024-04-26 14:39:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个字符串序列,其中有一个python列表。看起来像这样

"['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"

如何检索[]括起来的字符串作为python的list数据类型?你知道吗


Tags: 字符串列表序列listhow数据类型seeprovince
3条回答

使用标准库中的^{}函数:

>>> from ast import literal_eval
>>> literal_eval("['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']")
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']

这比直接使用evalsource)更安全。你知道吗

使用python的eval函数计算字符串并获得一个列表

>>> x = "['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']"
>>> eval(x)
['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']
>>> type(eval(x))
<class 'list'>

注意:

eval是危险的,如果您将代码暴露于开放的世界,如网站或api。eval在全局命名空间中执行,因此可能很危险。你知道吗

示例: eval(os.listdir())给出工作目录中的所有文件和文件夹。你知道吗

使用正则表达式提取列表:

re.findall("\'(.*?)\'",st)

#['How', 'Quebec', 'nationalists', 'see', 'province', 'nation', '1960s?']

相关问题 更多 >