擅长:python、mysql、java
<p>(我将使用与接受答案相同的<code>'Ethernet' in str(key)</code>测试。)</p>
<p>如果您想保留原始dict并将过滤后的版本作为单独的字典,我将使用一个理解:</p>
<pre><code>newdict = {key: value
for key, value in mydict.items()
if 'Ethernet' in str(key)}
</code></pre>
<p>如果您不想保留原来的dict,也可以删除不需要的条目:</p>
^{pr2}$
<p>得到“OctetString('…')”的原因与此相同:</p>
<pre><code>>>> 'foo'
'foo'
>>> pprint.pprint('foo')
'foo'
>>> print('foo')
foo
</code></pre>
<p>前两个测试向您展示了一个可以在源代码中使用的表示,这就是为什么会有引号。这就是<code>repr</code>函数的作用。第三个测试打印的是正常乐趣的值,因此不添加引号。“OctetString('…')”也只是这样一种表示,您可以复制并粘贴到源代码中,然后再次获得实际的OctetString对象,而不是Python字符串对象。我想<code>pprint</code>主要用于开发,在开发中获得完整的<code>repr</code>版本更有用。在</p>