擅长:python、mysql、java
<p>你不是真的在用你的字典。我建议您重建另一个字典,将文件名<em>作为键(使用<code>os.path.basename</code>,而不是<code>str.split</code>),将完整路径和列表保留为值的元组</p>
<pre><code>import os
data = {'C:\\Users\\user\\Desktop\\05052\\ASTTOM\\ASTTOM': [],
'C:\\Users\\user\\Desktop\\05052\\ASTIK\\ASTIK': [],
'C:\\Users\\user\\Desktop\\05052\\ROADS\\ROADS': []}
new_data = {os.path.basename(path): (path,value) for path,value in data.items()}
</code></pre>
<p>它看起来像:</p>
<pre><code>>>> new_data
{'ASTIK': ('C:\\Users\\user\\Desktop\\05052\\ASTIK\\ASTIK', []),
'ASTTOM': ('C:\\Users\\user\\Desktop\\05052\\ASTTOM\\ASTTOM', []),
'ROADS': ('C:\\Users\\user\\Desktop\\05052\\ROADS\\ROADS', [])}
</code></pre>
<p>然后可以进行<code>O(1)</code>查找和测试:</p>
<pre><code>shape1 = "ASTIK"
print(shape1 in new_data,new_data.get(shape1))
</code></pre>
<p>印刷品:</p>
<pre><code>True ('C:\\Users\\user\\Desktop\\05052\\ASTIK\\ASTIK', [])
</code></pre>
<p>(因为值在字典中,<code>get</code>检索数据</p>