Python将长字符串转换为不带单引号的列表

时间:2012-11-05 06:53:21

标签: python string list quotes

我有一个长字符串,我希望将其存储为列表。但它始终在开头和结尾都有单引号。如何删除它们?感谢。

样品

>>> 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]

3 个答案:

答案 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)