我有一个来自不同路径的文件列表,但其中一些路径包含相同的文件(和文件名)。
我想删除这些重复的文件,但由于它们来自不同的路径,我就是做不到 set(thelist)
说我的清单看起来像这样
thelist = ['/path1/path2/file13332', '/path11/path21/file21', 'path1232/path1112/file13332', '/path1/path2/file13339']
Run Code Online (Sandbox Code Playgroud)
什么是最pythonic的方式来获得这个
deduplicatedList = ['/path1/path2/file13332', '/path11/path21/file21', '/path1/path2/file13339']
Run Code Online (Sandbox Code Playgroud)
文件 file13332 两次出现在列表中。我不关心删除了哪个元素
一种方法是使用字典:
thelist = ['/path1/path2/file13332', '/path11/path21/file21', 'path1232/path1112/file13332', '/path1/path2/file13339']
deduplicatedList = list({f.split('/')[-1]: f for f in thelist}.values())
print(deduplicatedList)
Run Code Online (Sandbox Code Playgroud)
['path1232/path1112/file13332', '/path11/path21/file21', '/path1/path2/file13339']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
31 次 |
最近记录: |