检查列表项目是否位于其他列表的[x] [0]中,

时间:2019-02-17 10:48:36

标签: python list compare exists dimensional

这使我发疯。 第一个列表包含不带扩展名的文件名。例如:

afilenames = [file1, file2, file3]

第二个列表包含带有扩展名的文件名:

bfiles = [[file1, .exe], [file2, .txt], [file4, ini]]

我知道要获取一个列表,该列表从afilenames返回文件,而afilenames包含在bfiles中。

预期结果:

[file1, file2]

这是我的尝试,但它只会返回废话:

[afile for afile in afilenames for bfile in bfiles if afile in bfile[0]]

2 个答案:

答案 0 :(得分: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]

这也有效。

答案 1 :(得分:0)

这应该做你想要的

files = [file for file, _ in bfiles if file in afilenames]