【发布时间】:2026-02-08 08:40:02
【问题描述】:
我有一个列表,例如:
my_list = [['aaa_house', 'aaa_car', 'aaa_table'], ['aaa_love', 'aaa_hate', 'aaa_life']]
desired_result = [['house', 'car', 'table'], ['love', 'hate', 'life']]
我正在使用正则表达式来过滤所需的字符串。
我试过了:
import re
pattern = re.compile(r'\baaa[_]')
[pattern.search(i).group(1) for i in lista_fim]
我试过了
def find_fims(sublist):
pattern = re.compile(r'\baaa_')
return [pattern.search(i).group(1) for i in sublist]
answer = map(find_fims, lista_with_sublists)
我无法使用它获得任何结果。如何将函数应用于列表的子列表但保持我的子列表格式?我只想得到我的子列表的正确名称。
有什么帮助吗?
【问题讨论】:
-
看来你可以用
str.split("_")[1] -
使用
[pattern.sub('', i) for i in lista_fim]。您的模式与您要丢弃的内容匹配,并且您正在使用它来提取(您不需要的内容) -
@may 请提供您的实际输入。因为它与
_分开就足够了。 -
@may 我认为需要对您的列表进行一些澄清:是:
[['aaa_house', 'aaa_car', 'aaa_table'], ['aaa_love', 'aaa_hate', 'aaa_life']]还是[['aaa_house, aaa_car, aaa_table'], ['aaa_love, aaa_hate, aaa_life']]? -
使用:[[re.findall(r'aaa_(\w+)', i)[0] for i in j] for j in my_list] 得到输出:[['house', '车','桌子'],['爱','恨','生活']]
标签: python regex list dictionary sublist