🐍

Pythonのリストじゃない配列

2022/01/29に公開約1,500字

参考

定義記法

Int

from array import array

ints = array('l', [1, 2, 3, 4, 5])

for val in ints:
    print(val)

Float

from array import array

floats = array('d', [1.0, 2.0, 3.14])

for val in floats: 
    print(val)

Char

from array import array

chars = array('u', ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd', '!'])

for val in chars:
    print(val)
from array import array

# forループでstringを展開
chars = array('u', [c for c in 'Hello World!'])

for val in chars:
    print(val)

String

stringの並びを直接配列化することは出来ない様です。
以下はListを展開してchar配列として格納しています。

from array import array

chars = array('u', [c for c in ''.join(['Hello', ' ', 'World', '!'])])

for val in chars:
    print(val)

長さの取得

length = chars.itemsize()

Indexの取得

index = chars.index('D')

追加

chars = array('u', ['B', 'C', 'D', 'E', 'F'])

# 後方に追加(Push)
chars.append('G')

# 前方に追加(Unshift)
chars.insert(0, 'A')

削除

chars = array('u', ['A', 'B', 'C', 'D', 'E', 'F', 'G'])

# 後方を削除(Pop)
chars.pop()

# 前方を削除(Shift)
chars.pop(0)

リストへの変換

chars_list = chars.tolist()

Discussion

ログインするとコメントできます