![](https://secure.gravatar.com/avatar/39916bae984cb93b797efd2b175f59c0.jpg?s=120&d=mm&r=g)
On Sat, May 23, 2009 at 16:02, Alan G Isaac wrote:
On 1/31/2008 1:37 AM Anne Archibald apparently wrote:
m[range(n),range(n)]=new_diagonal Will that work with range objects (in Python 3)?
On 5/23/2009 5:05 PM Robert Kern apparently wrote:
No. The automatic conversion to arrays does not consume iterators (nor will it when we port to Python 3).
Sure, but range objects are not iterators. They are "almost" sequences. Python 3.0 (r30:67507, Dec 3 2008, 20:14:27) [MSC v.1500 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> r = range(10) >>> next(r) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: range object is not an iterator >>> 5 in r True >>> list(r) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(r) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] Cheers, Alan Isaac