因此,我有一个list1和一个list_of_list1,在此示例中,我将其简化为:
list1=['a','cs','akdf']
list_of_list1=[['cs','kdddd','wwww'],['a','papa','lsl'],['jdk','asas'],['akdf', 'ffff','pep8']]
我想检查list1中的元素是否在list_of_list1中的任何元素中 然后将该子列表附加到名为list_with_structures的新列表中。
所需的输出将是:
[['a','papa','lsl'],['cs','kdddd','wwww'],['akdf', 'ffff','pep8']]
这是我的代码:
list_with_structures=[]
for sublist in list_of_list1:
for valores in list1:
if valores in sublist:
list_with_structures.append(sublist)
break
list_with_structures
注意:list1中元素的nº远大于list_of_list1中的列表
答案 0 :(得分:1)
好像break
命令过早地阻止了您的列表检查,使其无法遍历list1。
要重新配置代码:
for sublist in list_of_list1:
for valores in list1:
if valores in sublist:
list_with_structures.append(sublist)
出于可读性考虑,我建议:
for item in list1:
for sublist in list_of_list1:
if item in sublist:
list_with_structures.append(sublist)