擅长:python、mysql、java
<p>使用<a href="https://docs.python.org/3/library/os.path.html#os.path.split" rel="nofollow noreferrer">^{<cd1>}</a>将路径名拆分为dirname和basename。然后使用<code>itertools.groupby</code>将文件分组在一起。你知道吗</p>
<pre><code>import os
from itertools import groupby
l= ['/User/someuser/file.py', '/tmp/download/file.zip', '/tmp/download/file2.zip', '/', '/usr/local/bin', '/tmp/file.txt']
print([(k, tuple(i[1] for i in g)) for k, g in groupby(map(os.path.split, sorted(l)), key=lambda x: x[0])])
</code></pre>
<p>印刷品</p>
<pre><code>[('/', ('',)), ('/User/someuser', ('file.py',)), ('/tmp/download', ('file.zip', 'file2.zip')), ('/tmp', ('file.txt',)), ('/usr/local', ('bin',))]
</code></pre>