1

我有一个长字符串,我想将它存储为一个列表。但它的开头和结尾总是有单引号。如何删除它们?谢谢。

样品

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

3 回答 3

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 不会计算任意代码,只会计算普通值。

于 2012-11-05T06:58:43.427 回答
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']
于 2012-11-05T06:58:34.280 回答
-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)
于 2012-11-05T14:24:23.460 回答