在python中按特定模式拆分

时间:2017-06-18 07:52:38

标签: python django

大家好我有一个模式(使用django)

[[u'13'], [u'12', u'23'], [u'30', u'31']]

我希望将其溢出并希望附加到列表中 像[13,12,23,30,31] 我知道这可以使用正则表达式来完成,但无法为其制作regualr表达式。 请帮忙 提前谢谢。

2 个答案:

答案 0 :(得分:1)

您可以使用ast库来使字符串成为python列表。

之后,遍历列表并将所有项链接到一个列表中。

import ast

st = "[[u'13'], [u'12', u'23'], [u'30', u'31']]"

li = ast.literal_eval(st) # you can use this library in order to make the string a python list.
new_li = [item for inner_list in li for item in inner_list]

print (new_li)
  

ast.literal_eval(node_or_string)

     

安全地评估表达式节点或Unicode或Latin-1编码   包含Python文字或容器显示的字符串。

答案 1 :(得分:0)

你可以在python3中做,

In [8]: [int(s) for i in a for s in i]
Out[8]: [13, 12, 23, 30, 31]