>>> import ast
>>> x = u'[ "A","B","C" , " D"]'
>>> x = ast.literal_eval(x)
>>> x
['A', 'B', 'C', ' D']
>>> x = [n.strip() for n in x]
>>> x
['A', 'B', 'C', 'D']
With ast.literal_eval, you can safely evaluate an expression node or a string containing a Python expression. The string or node provided may only consist of the following Python literal structures: strings, numbers, tuples, lists, dicts, booleans, and None.
只要有一个字符串化的字典列表,^{} 模块就是一个更好的解决方案。可以使用
json.loads(your_data)
函数将其转换为列表。类似地
ast.literal_eval:
eval
是危险的-您不应该执行用户输入。如果您有2.6或更高版本,请使用ast而不是eval:
一旦你有了它,
strip
字符串。如果您使用的是较旧版本的Python,那么您可以使用一个简单的正则表达式非常接近您的要求:
这不如ast解决方案好,例如,它不能正确处理字符串中的转义引号。但它很简单,不涉及危险的评估,如果您使用的是没有a s t的旧Python,那么它可能对您的目的足够好。
相关问题 更多 >
编程相关推荐