.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