\

Pythonのarray.arrayモジュールは、基本的な値(文字、整数、浮動小数点数)の配列を効率的に表現するためのものです。このモジュールは、リストとほぼ同じように振る舞いますが、中に入れるオブジェクトの型に制限がある点が異なります。

import array
# 数値型の空の配列を初期化
arr = array.array('i', [])
# 値を加える。
arr.append(1)
print(arr)  # array('i', [1])

上記の例では、整数型の空の配列を初期化し、値を追加しています。型が違う値を加えようとすると、エラーになります。

また、array.arrayは、リストよりもメモリ効率が良く、高速アクセスが可能な点に魅力があります。具体的にはpop()insert()の速度が明らかに違います。

import array
import time

a_list = [i for i in range(1000000)]
s = time.time()
for i in range(10000):
    a_list.pop(500000)
    a_list.insert(500000, 500000)
print('list:', time.time() - s)

arr = array.array('i', a_list)
s = time.time()
for i in range(10000):
    arr.pop(500000)
    arr.insert(500000, 500000)
print('array:', time.time() - s)
# list: 5.113029718399048
# array: 2.0941877365112305

上記の例では、要素数100万の配列に対して1万回ずつpop()insert()を繰り返しています。結果として、array.arrayの方が顕著に速いことがわかります。

以上のように、Pythonのarray.arrayモジュールは、特定の状況下でリストよりも優れた性能を発揮します。そのため、適切な場面での利用が推奨されます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です