将作为列表的字符串转换为适当的列表python

2024-02-27

如何将这个列表字符串转换为正确的列表?

mylist = "['KYS_Q5Aa8', 'KYS_Q5Aa9']"

我尝试过,但这不是我所期望的:

print mylist.split()
["['KYS_Q5Aa8',", "'KYS_Q5Aa9']"]

我想要这样的:

['KYS_Q5Aa8','KYS_Q5Aa9']

Use 文字评估 http://docs.python.org/2/library/ast.html#ast.literal_eval来自ast http://docs.python.org/2/library/ast.html module:

>>> import ast
>>> ast.literal_eval("['KYS_Q5Aa8', 'KYS_Q5Aa9']")
['KYS_Q5Aa8', 'KYS_Q5Aa9']

Unlike eval、literal_eval 可以安全地用于用户字符串或其他未知字符串源。它只会将字符串编译成基本的 Python 数据结构——所有其他的都会失败。

或者,如果您的字符串就像这样(即没有嵌入逗号或没有解析子引号字符串内的含义),您也可以强制 split 执行您想要执行的操作:

>>> mystring = "['KYS_Q5Aa8', 'KYS_Q5Aa9']"
>>> [e.strip("' ") for e in mystring.strip('[] ').split(',')]
['KYS_Q5Aa8', 'KYS_Q5Aa9']
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将作为列表的字符串转换为适当的列表python 的相关文章

随机推荐