python – 比较两个文件列表,忽略一个列表中的文件扩展名
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – 比较两个文件列表,忽略一个列表中的文件扩展名,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1023字,纯文字阅读大概需要2分钟。
内容图文
![python – 比较两个文件列表,忽略一个列表中的文件扩展名](/upload/InfoBanner/zyjiaocheng/734/9707dff3211f4473bcec66bd2c3bcb31.jpg)
我有两个清单
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
输出:
['image1.png', 'image2.png', 'image3.png', 'image3.jpg']
请注意,如果需要,它必须适用于具有多个扩展名的文件,如.tar.gz(filename.partition(“.”)[0]可以执行此操作).但这意味着点不能放在文件名中的任何位置,因为第一个点现在界定了扩展名.
内容总结
以上是互联网集市为您收集整理的python – 比较两个文件列表,忽略一个列表中的文件扩展名全部内容,希望文章能够帮你解决python – 比较两个文件列表,忽略一个列表中的文件扩展名所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。