天天看點

Python周遊字典删除元素

這種方式是一定有問題的:

<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