内存视图

2019-08-03  本文已影响0人  钢笔先生

Time: 2019-08-03

如果总是和数组打交道,而没有听过memoryview,那就太遗憾了。

用不同的方式读写同一块内存。

memoryview.cast会将同一块内存中的内容打包为全新的memoryview对象。

numbers = array('h', [-2, -1, 0, 1, 2])
memv = memoryview(numbers)
memv_oct = memv.cast('B')

memv_oct.tolist()
# [254, 255, 255, 255, 0, 0, 1, 0, 2, 0]
memv_oct[5] = 4
memv_oct.tolist()
# [254, 255, 255, 255, 0, 4, 1, 0, 2, 0]
numbers
# array('h', [-2, -1, 1024, 1, 2])

将位于位置5的字节赋值为4,有符号整数将变成1024、

总结

利用数组来做高级的数字处理,Numpy和Scipy是更好的工具。

END.

上一篇 下一篇

猜你喜欢

热点阅读