Fork me on GitHub

一 数组的内容的查找
array的查找是依靠index,超出内容的会报错误
import array

int_array = array.array('i', [0, 1, 2, 3, 1, 2])

print(f'1 is found at index {int_array.index(1)}')

'''
try:
    print(int_array.index(20))
except ValueError as ve:
    print(ve)
'''
try:
    print(int_array.index(2))
except ValueError as ve:
    print(ve)

 

 
二 更新内容
array更新内容可以根据index来查找:
import array

int_array = array.array('i', [0, 1, 2, 3, 1, 2])

int_array[0] = -1
int_array[1] = -2
print(int_array)

try:
    int_array[10] = -2
except ValueError as ve:
    print(ve)

 

输出结果:
array('i', [-1, -2, 2, 3, 1, 2])
Traceback (most recent call last):
  File "update.py", line 10, in <module>
    int_array[10] = -2
IndexError: array assignment index out of range

 

 
三 格式转换
array的格式转换非常有用
import array


int_array = array.array('i',[1,2,3,4])

int_array.reverse()

print(int_array)

print(int_array.tolist())
print(int_array.tostring())
print(int_array.tobytes())

 

输出结果:
array('i', [4, 3, 2, 1])
[4, 3, 2, 1]
b'\x04\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00'
b'\x04\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00'

 可以看出,tostring和tobytes的结果是一样的。

 
四 参考链接
posted on 2022-04-30 17:48  虚生  阅读(216)  评论(0编辑  收藏  举报