从更大的列表列表中提取基于匹配字符串的子列表项

问题描述

我有以下搜索列表,可用于在更大的列表列表中搜索其中的任何项目。我希望结果是完整的子列表,但我似乎只能自己获取项目。

search_list = ['a','b','x']
list_of_lists = [['axh','opp'],['l n','3b v'],['09,8','cdj l','sd9 c']
new_lst=[]
for z in list_of_lists:
    yll = [x for x in z if any(w in x for w in search_list)]
    n_lst.append(yll)

new_lst 的输出

new_lst = [['a xh'],['3 b v'],[]]

我在获得此输出显示结果列表中与 search_list

中的任何项目匹配的所有项目
[['a xh',[]]

任何建议或提示将不胜感激。

谢谢

解决方法

append 子列表到 new_list,如果 search_list 的任何字符匹配。

search_list = ['a','b','x']
list_of_lists = [['axh','opp'],['l n','3b v'],['09,8','cdj l','sd9 c']]

new_list = []
for sub in list_of_lists:
    for l in sub:
        if any(w in l for w in search_list):
            new_list.append(sub)
print(new_list)

# Output
# [['axh','3b v']]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...