处理列表并输出为列表

时间:2015-02-24 19:28:57

标签: python list

我对python很新,并且有一个关于处理带有列表的列表的问题。 例如:

list1 = ["vbhg12vbdf42vbsdh24", "dbsh13vdsj24lvk48"] #must become [['12','42','24'], ['13','24','48']]
list2 = (re.findall("\d+", str(list1))) # gives ['12', '42', '24', '13', '24', '48']

见评论。知道我怎么能这样做吗?

非常感谢。

2 个答案:

答案 0 :(得分:3)

怎么样:

result = []

for x in list1:
    result.append(re.findall("\d+", x))

或者,作为列表理解:

result = [re.findall("\d+", x) for x in list1]

答案 1 :(得分:3)

首先,您需要指定您的模式是findall()函数中的正则表达式,并在模式的开头添加r,然后您需要遍历列表并应用函数它的元素,你可以使用列表理解:

>>> list1 = ["vbhg12vbdf42vbsdh24", "dbsh13vdsj24lvk48"]
>>> import re
>>> [re.findall(r'\d+',i) for i in list1]
[['12', '42', '24'], ['13', '24', '48']]