我有一个长字符串,我希望将其存储为列表。但它始终在开头和结尾都有单引号。如何删除它们?感谢。
样品
>>> string
>>> '"2012-11-05", "filename", 1, 2, 3, 4, 5, 6, 7, 0.11, 0.22, 0.33'
>>> string.split("'")
>>> ['"2012-11-05", "filename", 1, 2, 3, 4, 5, 6, 7, 0.11, 0.22, 0.33']
问题是如何在没有单引号的情况下获得如下结果?
>>> ["2012-11-05", "filename", 1, 2, 3, 4, 5, 6, 7, 0.11, 0.22, 0.33]
答案 0 :(得分:8)
您的数据似乎是一个有效的python元组。
import ast
list(ast.literal_eval('"2012-11-05", "filename", 1, 2, 3, 4, 5, 6, 7, 0.11, 0.22, 0.33'))
ast模块中的literal_eval函数比普通eval更安全,因为literal_eval不会评估任意代码,只是普通值。
答案 1 :(得分:3)
试试这个:
[s.replace('"', '').strip() for s in string.split(',')]
>>> ['2012-11-05', 'filename', '1', '2', '3', '4', '5', '6', '7', '0.11', '0.22', '0.33']
答案 2 :(得分:-1)
python 3.2
string='"2012-11-05", "filename", 1, 2, 3, 4, 5, 6, 7, 0.11, 0.22, 0.33'
a=eval(string)
res=list(a)