.items()和.keys()之间的区别

在迭代字典时使用第一块代码而不是第二块代码有什么好处?.items()和.keys()之间的区别

for k, v in mydict.items(): 

if v == None:

mydict[k] = ''

for k in mydict.keys(): 

if mydict[k] == None:

mydict[k] = ''

回答:

第一种方法可以说是更清晰,更易于阅读,所以我总是推荐它优于后者。

这就是说,在一个简单的情况下,这样的,更好的选择是一个dictionary comprehension:

{k: v if v is not None else "" for k, v in mydict.items()} 

值得一张纸条,上面第二个例子可以简化,如迭代直接在mydict将提供钥匙,所以不需要mydict.keys()(这主要用于当你想为另一个目的而不是迭代的密钥集合)。 (由于jathanism在评论中指出,在旧版本的Python(2.x)中,使用iteritems()items()更好,因为它不会生成列表 - 像我这样的3.x用户并不需要因为items()产生一个懒惰的字典视图。)

以上是 .items()和.keys()之间的区别 的全部内容, 来源链接: utcz.com/qa/262449.html

回到顶部