python - 根据列表的元素生成列表列表
问题描述
所以我有一个 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 中的列表
解决方案
看起来该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)
推荐阅读
- powershell - AD中的用户创建
- swift - 可选属性导致 Swift 协议崩溃
- python - 正则表达式中的 Python 可选组
- python - Python selenium - 我如何能够点击屏幕上具有特定值的所有按钮
- sql - JOIN 条件下的 SQL 查询
- python - Python numpy:用特定范围内的新值替换值的for循环向量
- flutter - 我已删除 Pub\Cache\hosted\pub.dartlang.org 文件夹以更新颤振包,但在颤振包中显示错误获取
- python - 集成终端停止在 Visual Studio Code 中显示文本
- python-3.x - 即使安装 ffmpeg 也找不到 FFserver 命令
- javascript - 如何从 Map.keys() 中获取排序数组