首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Python的iter()在映射上返回iterkeys()而不是iteritems()?

在Python中,iter()函数用于返回一个可迭代对象的迭代器。当iter()应用于映射(如字典)时,它会返回映射的键(iterkeys())而不是键值对(iteritems())。这是因为在Python 3中,iteritems()已被弃用,取而代之的是items()

在Python 2中,iter()函数返回的是iterkeys(),而在Python 3中,iter()函数返回的是items()。这是因为在Python 3中,iteritems()已被弃用,取而代之的是items()

以下是Python 2和Python 3中iter()的行为差异:

Python 2:

代码语言:python
代码运行次数:0
复制
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> iter(d)
<dict_iterkeys object at 0x7f952c0f77e0>

Python 3:

代码语言:python
代码运行次数:0
复制
>>> d = {'a': 1, 'b': 2, 'c': 3}
>>> iter(d)
<dict_keyiterator object at 0x7f952c0f77e0>

总结:Python的iter()在映射上返回iterkeys()而不是iteritems(),这是因为在Python 3中,iteritems()已被弃用,取而代之的是items()

相关搜索:为什么在查找===而不是返回语句规定的'YES‘时函数返回undefined?为什么返回默认情况而不是在Redux的reducer中抛出?python中的Urllib2 :为什么它不返回网页格式而不是实际数据?为什么我在Python中得到错误的hmac结果而不是Perl?为什么python中的时间差是返回字符串而不是计算差异?为什么我的程序返回"No review v1“而不是返回有评论的产品的平均评论?(网络抓取,python)在Python 3中使用请求进行的API调用返回HTML而不是JSON在Python3中,yaml.load()返回一个键为字节而不是文本的映射为什么我的Auth.currentAuthenticatedUser()方法在我重新加载后返回更新的状态,而不是在useEffect的依赖项运行(或登录/注销)时返回?在Django测试中,为什么我需要使用<Model>.objects.get()而不是<Model>.objects.create()返回的内容?有人知道为什么这段python代码只返回一个字母而不是一个完整的单词吗?有没有办法强制定义在类下的Python函数返回特定数据类型的某些内容(而不是不返回任何内容)?在python中的列表中键入强制转换错误。什么才是确保它以integer[]而不是字符串列表的形式返回的正确方法?在Python3中,除pandas DataFrame中的2个整数列将返回四舍五入的整数而不是浮点数为什么我的promises在使用node和redis时不能解析?我的数组返回第一次迭代,而不是等待整个代码运行为什么在我的Rails API应用程序中,拆分一个字符串会返回一个跨多行的(坏的)值,而不是在控制台中?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券