Python 2:为什么xrange不称为irange?
这个问题有点哲学. Python 2中有一个出色的itertools模块,特别是为Python内置函数(如map,filter,zip或slice)提供了生成器等价物.等价物分别称为imap,ifilter,izip和islice.据我所知,他们名字中的前缀i意味着我是演员.但是xrange也有同样的东西:它相当于范围返回生成器对象而不是大型列表.那么,为什么不称它为irange?前缀x实际上意味着什么? 最佳答案 因为xrange()在它具有迭代器之前被添加到语言中,并且它本身不是迭代器. >迭代器在PEP 234中添加,这是2001年创建的提案. Python 1.0于1994年发布,因此很早就添加了xrange(). x很可能在这里没有特定含义. 但是xrange()实际上不是一个迭代器,它是一个可迭代的;与迭代器不同,您可以多次迭代它.它也是一个序列,因为它有一个长度并且可以被索引. 因此,该对象已重命名为range()(完全替换Python 2 range()函数),并且其序列行为已进一步扩展. (编辑:鲜蔬坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用远程存储配置django-compressor(django-stor
- python – 有人可以解释为什么这会修复我的递归错
- python – 你的字符串’与’string’相同.代码(‘
- 如何使用pyinstaller与scipy.optimize leastsq的
- python – 如何提高INSERT语句的性能?
- python – 为什么statsmodels不能重现我的R逻辑回
- python – 在字符串列表中标记动态子字符串
- python – ElementTree find()/ findall()找不到
- Python – NLP – 将iter(iter(树))转换为列表(树
- .net – 使用异步,等待与System.Threading.Threa