python - 检查列表项是否在其他列表的 [x][0] 中并理解
问题描述
这个快把我逼疯了。第一个列表包含不带扩展名的文件名。例如:
afilenames = [file1, file2, file3]
第二个列表包含带扩展名的文件名:
bfiles = [[file1, .exe], [file2, .txt], [file4, ini]]
我知道想要一个列表,它从 afilenames 返回文件,其中包含在 bfiles 中。
预期结果:
[file1, file2]
这是我的尝试,但它只是返回废话:
[afile for afile in afilenames for bfile in bfiles if afile in bfile[0]]
解决方案
x = [a for a in afilenames for b in bfiles if a == b[0]]
您的版本也适用于您提供的示例。
x = [afile for afile in afilenames for bfile in bfiles if afile in bfile]
这也奏效了。
推荐阅读
- azure - Azure 媒体服务视频索引器中是否提供多比特率选项?
- postgresql - 更新查询以增量更新值,然后循环 PostgreSQL
- python - 无法从 mac 连接到 dockerized Postgres
- python - pyqtgraph 获取鼠标下的 PlotItem
- python - 给定一个整数列表,将其拆分为 2 个列表,如果相等则返回 True,否则返回 False(如果不可能)
- github - 如何在部署步骤中使用 Github Actions 创建 dotenv 文件?
- embed - Twitter 和 Instagram 嵌入 WCAG
- javascript - 这里提示没有响应
- parsing - 为什么这个语法在 LR(0) 中有 Reduce/Reduce 冲突?
- scala - 如何解决“无法将依赖项 [...] 添加到模块 [...] 的配置‘默认’,因为此配置不存在”?