根据lis的元素生成列表列表

2024-06-09 22:14:47 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我有一个列表1和一个列表1,对于这个例子,我将把它简化为:

list1=['a','cs','akdf']
list_of_list1=[['cs','kdddd','wwww'],['a','papa','lsl'],['jdk','asas'],['akdf', 'ffff','pep8']]

我想检查list1中的元素是否在list1的列表中 然后将该子列表附加到一个名为list\的新列表中,该列表具有\结构

所需输出为:

[['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

注:nº 列表1中元素的数量远大于列表1中的列表


Tags: ofin列表withcslistlslstructures
1条回答
网友
1楼 · 发布于 2024-06-09 22:14:47

看起来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)

相关问题 更多 >