擅长:python、mysql、java
<p>你可以试试这个:</p>
<pre><code>listionary = [{'path': ['/tmp/folder/cat/number/letter', '/tmp/folder/hog/char/number/letter', '/tmp/folder/hog/number/letter', '/etc'],
'mask': True,
'name': 'dict-1'},
{'path': ['/tmp/folder/dog/number-2/letter-4', '/tmp/folder/hog-00/char/number-1/letter-5', '/tmp/folder/cow/number-2/letter-3'],
'mask': True,
'name': 'dict-2'},
{'path': ['/tmp/folder/dog_111/number/letter', '/tmp/folder/ant/char/number/letter', '/tmp/folder/hen/number/letter'],
'mask': True,
'name': 'dict-3'}]
import re
from itertools import chain
animals = list(set(chain.from_iterable([[re.findall("/tmp/folder/(.*?)/", b)[0] for b in i["path"] if re.findall("/tmp/folder/(.*?)/", b)] for i in listionary])))
</code></pre>
<p>输出:</p>
<pre><code>['hog', 'hog-00', 'cow', 'dog_111', 'dog', 'cat', 'ant', 'hen']
</code></pre>