比较两个文件列表,忽略一个列表中的文件扩展名

2023-11-29

我有两个清单

list1 = ['image1.png', 'image2.png', 'image3.png', 'image3.png']
list2 = ['image1.pdf', 'image2.eps', 'image3.ps']

我想创建一个包含 list1 名称的列表,如果该名称(忽略扩展名)包含在 list2 中。对于上面的例子,正确答案是

['image1.png', 'image2.png', 'image3.png']

知道怎么做吗? 谢谢 卡尔


from os.path import splitext

list1 = ['image1.png', 'image2.png', 'image3.png', 'image3.png', 'image4.png', 'image3.jpg']
list2 = ['image1.pdf', 'image2.eps', 'image3.ps', 'image5.doc']

# Create a lookup set of the document names sans extensions.
documents = set([splitext(filename)[0] for filename in list2])

# Compare each stripped filename in list1 to the list of stripped document filenames.
matches = [filename for filename in set(list1) if splitext(filename)[0] in documents]

print matches

Output:

['image1.png', 'image2.png', 'image3.png', 'image3.jpg']

请注意,它必须针对具有多个扩展名的文件进行调整,例如.tar.gz如果需要的话 (filename.partition(".")[0]就可以了)。但这意味着点不能放在文件名中的任何位置,因为first点现在分隔扩展名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

比较两个文件列表,忽略一个列表中的文件扩展名 的相关文章

随机推荐

  • Visual Studio 初始化时状态栏中出现奇怪的图标

    当我构建项目时 Visual Studio 2015 花了很长时间 状态栏如下所示 该图标是动画的 箭头向下移动 而小盒子落入开放的正方形中 如果我不得不猜测 这意味着 VS 正在尝试下载某些东西 包 但卡在某个地方 这个图标到底是什么意思
  • 如何在 IntelliJ IDE 中将 Spark 与 Scala 项目集成?

    我正在使用 IntelliJ IDE 来玩 Scala 和 Spark 在此 IDE 中 我使用 Scala 对象创建了一个 Scala 项目 见图 我使用了示例回归代码web site 我还以非 Maven 用户身份从 GitHub 下载
  • codeigniter 默认控制器 url 路由

    我正在组建一个简单的网站 并希望 URL 的工作方式与 facebook 类似 因此通过输入 domain com username 我将获得用户个人资料 我已经可以这样做了 登录的用户个人资料位于 domain com 其他用户个人资料位
  • 如何在java中从10到1倒序打印计数?

    我想打印相反的计数顺序 我怎样才能在java中做到这一点 我尝试了一些代码但没有成功 import java util public class reversecount public static void main String arg
  • tkinter 中的标题栏菜单

    我想我们大多数人一定见过命令提示符 Windows 以及当我们打开它并单击它的图标时它会显示一个菜单 我们可以用 tkinter 做类似的事情吗 这不是正常的菜单栏 这是命令提示符之一的说明 这只是一个解决方法的示例 无需您自己进行所有窗口
  • java linkedhashmap迭代

    我有两个哈希图 LinkedHashMap
  • 如何在java应用程序中显示html?

    现在我正在致力于用 Java 实现浏览器 我需要在 JFrame 窗口内显示网站的内容 提供 url 地址 有没有一种简单的方法可以做到这一点 我尝试了JEditorPane 但它只支持HTML 3 2 所以网站的内容看起来很奇怪 Than
  • Java - 连接关闭后无法使用 ResultSet

    我在关闭与 MySQL 的连接时遇到问题 我收到错误 java sql SQLException 结果集关闭后不允许执行操作 My code public static ResultSet sqlquery String query Res
  • 依赖注入和实体框架

    我正在使用 MVVM light 及其 Ioc 来做一个 wpf 应用程序SimpleIoc 我实现了这样的存储库模式 public interface ICrud
  • 解释双重检查锁定中的竞争条件

    void undefined behaviour with double checked locking if resource ptr 1 std lock guard
  • C# - 文件上传到服务器后损坏

    我使用以下源代码上传文件excel和pdf 但是将文件移动到服务器后 文件已损坏 我认为问题出在编码过程上Encoding UTF8 GetBytes sourceStream ReadToEnd 但我不知道如何解决 public stat
  • 在 Android 中启动 GPS 设置屏幕

    以下代码在三星设备中启动 GPS 设置屏幕 但在 HTC 设备中启动设置的安全屏幕 我如何编写代码 以便它独立于设备启动 GPS 屏幕 请帮助是否有任何替代解决方案 final ComponentName toLaunch new Comp
  • SQL 错误:ORA-00942 表或视图不存在

    我使用 SQL Developer 在创建用户并使用所有所需权限与该用户建立另一个连接后 使用系统用户与数据库建立了连接 但是当我尝试继续以下操作时 出现 SQL 错误 ORA 00942表或视图不存在 INSERT INTO custom
  • 创建每列有多个标题的数据框并在循环中填充数据框

    我想创建一个每列有多个标题的 Pandas 数据框 并使用循环中的数据逐行填充数据框 我以前创建过数据框 但这对于我真正想做的事情来说似乎非常复杂 而且我不知道从哪里开始 Example step list range 1 5 for i
  • 从内容脚本访问窗口变量[重复]

    这个问题在这里已经有答案了 我有一个 Chrome 扩展程序 它试图在每个浏览的 URL 以及每个浏览器 URL 的每个 iframe 上查找变量是否存在window my variable name exists 所以我写了这个小内容脚本
  • pygame.display.toggle_fulscreen() 不起作用

    所以 我试图让 python 切换到全屏 现在我认为我需要做的就是 screen pygame display toggle fullscreen 我认为这已经足够了 但它给了我这个traceback error Traceback mos
  • Hive 表中匹配大小的随机样本

    我有一个蜂巢表activity有柱子userid itemid and rating 可能的评级为 1 和 0 其中正面评级 1 多于负面评级 0 我需要提取一个正面和负面评级数量大致相等的样本 我需要这个样本尽可能大 因此想要对所有负面评
  • C 中单个竖线的含义是什么 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 有人向我展示了以下代码片段并询问它的含义 if pFCT gt FBMap VBQNum
  • 如何将最新的 c++ protobuf (3.2) 与 Android NDK 集成/安装?

    早期的protobuf 3 0版本很容易集成 但最新版本3 2存在问题 它也只是编译和构建所有不相关的 Android cc 文件组件 如果我们遵循最新分支的路径git for c 原型 按照步骤构建它 然后它生成 15 MB 的 SO 文
  • 比较两个文件列表,忽略一个列表中的文件扩展名

    我有两个清单 list1 image1 png image2 png image3 png image3 png list2 image1 pdf image2 eps image3 ps 我想创建一个包含 list1 名称的列表 如果该名