如何将字符串转换为列表
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)
但这对我的情况不起作用。
感谢。
答案 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()
。