這種方式是一定有問題的:
<code>d </code><code>=</code> <code>{</code><code>'a'</code><code>:</code><code>1</code><code>, </code><code>'b'</code><code>:</code><code>2</code><code>, </code><code>'c'</code><code>:</code><code>3</code><code>}</code>
<code>for</code> <code>key </code><code>in</code> <code>d:</code>
<code> </code><code>d.pop(key)</code>
會報這個錯誤:RuntimeError: dictionary changed size during iteration
這種方式Python2可行,Python3還是報上面這個錯誤。
<code>for</code> <code>key </code><code>in</code> <code>d.keys():</code>
Python3報錯的原因是keys()函數傳回的是dict_keys而不是list。Python3的可行方式如下:
<code>for</code> <code>key </code><code>in</code> <code>list</code><code>(d):</code>
*** walker ***
本文轉自walker snapshot部落格51CTO部落格,原文連結http://blog.51cto.com/walkerqt/1687624如需轉載請自行聯系原作者
RQSLT