簡體   English   中英

Python 2:為什么不將xrange稱為irange?

[英]Python 2: why xrange isn't called irange?

這個問題是哲學上的。 Python 2中有出色的itertools模塊,尤其為Python內置函數(例如mapfilterzipslice提供了等效的生成filter 等效項分別稱為imapifilterizipislice 據我了解,它們名稱中的前綴i表示i 但有同樣的事情xrange :它的等效range返回發生器對象,而不是大名單。 那么,為什么不叫irange呢? 前綴x實際上是什么意思?

因為xrange()是在它具有迭代器之前添加到語言的,所以它本身不是迭代器。

Python 1.0於1994年發布,因此xrange()很早就添加了。 x很可能在這里沒有特定含義。

但是xrange()並不是真正的迭代器,它是可迭代的 與迭代器不同,您可以對其進行多次迭代。 它也是一個序列,因為它具有長度並且可以被索引。

這樣,該對象已重命名為range() (完全取代了Python 2 range()函數),並且其序列行為得到了進一步擴展。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM