python 的dict的update 方法的一点诡秘的行为

如下:

>>> 'a%s'%a
'a{1: 0, 2: 0}'
>>> for k,v in a.items():
	a.update(k=v)

	
>>> a
{1: 0, 2: 0, 'k': 0}

 

期望输出的是

{1:0,2:0}

 

以下这么写是对的:

>>> a={1:0,2:0}
>>> for k,v in a.items():
	a.update({k:v})

	
>>> a
{1: 0, 2: 0}

 

原因未知,先记录着。

posted @ 2014-12-22 21:18  tommy.yu  阅读(521)  评论(0编辑  收藏  举报