gpt4 book ai didi

python - 为什么字典需要那些 'iter' 方法?

转载 作者:太空宇宙 更新时间:2023-11-03 12:22:07 27 4
gpt4 key购买 nike

假设 mydict 是一个 Python 字典。

mydict = {'a': 1, 'b': 2}

我可以使用 items 来迭代它的元素:

for k,v in mydict.items():
print k,v

或者使用iteritems:

for k,v in mydict.iteritems():
print k,v

有什么区别?我认为 Python 的哲学是“只有一种方法”?

最佳答案

在 Python 3 中,dict.iter...() 方法已被删除并替换了普通方法。

它们的存在是因为迭代器是在字典之后添加到语言中的,所以 dict.items() 返回一个列表。添加了 dict.iter...() 方法以允许人们制作更高效的程序(因为迭代器是惰性的),但也不破坏与期望列表的旧程序的兼容性。

由于 Python 3 破坏了兼容性,此问题已得到修复。 (dict.iter() 的旧用法可以用 list(dict.iter()) 生成。注意在 Python 3 中 dict.items() 实际上返回一个 dictionary view - 它可以迭代,但也提供其他功能。

关于python - 为什么字典需要那些 'iter' 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com