在python中拆分字符串

use*_*614 1 python string list python-2.7

我想以最有效的方式在python中分割一个sting,以及最"python-like"的方式.说我有这个字符串:

s = '"Jens", "kasper", "Michael"' 
Run Code Online (Sandbox Code Playgroud)

我如何获得以下列表:

names = ["David", "Kasper", "Michael"]
Run Code Online (Sandbox Code Playgroud)

意思是我想在大括号之间删除名称.

ale*_*cxe 5

用途ast.literal_eval():

安全地评估表达式节点或包含Python表达式的Unicode或Latin-1编码的字符串.提供的字符串或节点可能只包含以下Python文字结构:字符串,数字,元组,列表,dicts,布尔值和None.

>>> from ast import literal_eval
>>> s = '"Jens", "kasper", "Michael"' 
>>> literal_eval(s)
('Jens', 'kasper', 'Michael')
>>> list(literal_eval(s))
['Jens', 'kasper', 'Michael']
Run Code Online (Sandbox Code Playgroud)

  • 如果该字符串旨在成为字符串表示的Python元组,那么这是正确的答案.但是,如果`literal_eval`恰好适用于某些不是Python文字格式的格式,那通常不是使用它的好理由. (2认同)