擅长:python、mysql、java
<p>您的书是为Python3.x编写的,但您使用的是Python2.x</p>
<p>在python3.x<em>only</em>中,<a href="https://docs.python.org/3/library/stdtypes.html#dict.keys" rel="nofollow">^{<cd1>}</a>返回字典键的<a href="https://docs.python.org/3/library/stdtypes.html#dict-views" rel="nofollow">dictionary view object</a>(或您所称的<code>dict_keys</code>对象):</p>
<pre><code>>>> # Python 3.x interpreter
>>> a = {'a': 1, 'b': 2}
>>> a.keys()
dict_keys(['b', 'a'])
>>>
</code></pre>
<p>然而,在Python2.x中,该方法只返回一个键列表</p>
<pre><code>>>> # Python 2.x interpreter
>>> a = {'a': 1, 'b': 2}
>>> a.keys()
['b', 'a']
>>>
</code></pre>
<p>您需要使用<a href="https://docs.python.org/2/library/stdtypes.html#dict.viewkeys" rel="nofollow">^{<cd3>}</a>来获得类似于python3.x的dictionary视图对象:</p>
<pre><code>>>> # Python 2.x interpreter
>>> a = {'a': 1, 'b': 2}
>>> a.viewkeys()
dict_keys(['a', 'b'])
>>>
</code></pre>