[Python-ideas] Memoryview tolist() method is misleading
Stefan Krah
stefan at bytereef.org
Fri Sep 14 22:00:09 CEST 2012
Alexander Belopolsky wrote:
> Consider this:
> >>> memoryview(b'x').cast('B', ()).tolist()
> 120
>
> The return value of to list() is an int, not a list.
That's because NumPy's tolist() does the same thing:
>>> x = numpy.array(120, dtype='B')
>>> x
array(120, dtype=uint8)
>>> x.tolist()
120
If you implement tolist() recursively like in _testbuffer.c and choose
the zeroth dimension as the base case, you arrive at single elements.
So at least it's not completely unnatural.
Stefan Krah
More information about the Python-ideas
mailing list