将字符串转换为列表

时间:2010-12-16 09:37:29

标签: python

如何将字符串转换为列表

str = '[(testing1@testing.com, amit, laspal,1,100,50), 
        (testing2@testing.com,None,None,None,None,None), 
        (testing3@testing.com,laspal, amit,None,None,None)]'

我想在列表中获取元组。 所以我的新名单将是:

list =[(testing1@testing.com, amit, laspal,1,100,50),
       (testing2@testing.com,None,None,None,None,None), 
       (testing3@testing.com,laspal, amit,None,None,None)]

我可以使用eval(string)但这对我的情况不起作用。

感谢。

2 个答案:

答案 0 :(得分:0)

我会说,使用正则表达式。

import re
p = re.compile('(([\w@]+),(\w+),(\w+),(\d+),(\d+))')
f = p.finditer("yourstring")
result = []
for e in f:
    result.append(e.groups()[1:])

答案 1 :(得分:0)

解决了类似的a while back,但问题不是相当重复。你也可以在那里工作ast.literal_eval()