Python チュートリアル - データ型配列

  1. Python 配列宣言
  2. Python 配列インデックス
  3. 配列の負のインデックス
  4. Python 配列を反復処理する
  5. Python 配列の更新
  6. Python 配列を変更するさまざまな方法
  7. Python 配列から要素を削除する
  8. 配列メソッド

このセクションでは、Python で配列の要素を作成してアクセスする方法を学びます。

配列は、同じデータ型の要素のコレクションです。配列とリストの主な違いは、リストに異なるデータ型の要素を含めることができることです。

Python プログラミングでは、配列を作成するには、配列は基本的なデータ型ではないため、array モジュールをインポートする必要があります。

from array import *

Python 配列宣言

配列を宣言するには、次の構文に従う必要があります。

arrayName = array(typecode, [initializers])

ここで、arrayName は配列の名前、typecode は配列のデータ型を決定し、initializers は配列の値です。

このセクションの後半で typecode パラメータの詳細を学習します。

以下の例を検討してください。

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

配列の名前は atypecodei で、配列の値が整数データ型であることを指定します。この配列に整数以外の値を保存しようとすると、エラーが発生します。

>>> a=array('i', [1,2,3.4,4])
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    a=array('i', [1,2,3.4,4])
TypeError: integer argument expected, got float

いくつかの整数を含む配列の例を確認しましょう:

>>> from array import *
>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

typecode パラメーター

パラメータ 意味
b 1 バイトの符号付き整数
B 1 バイトの符号なし整数
u 2 バイトの Unicode 文字
h 2 バイトの符号付き整数
H 2 バイトの符号なし整数
i 2 バイトの符号付き整数
I 2 バイトの符号なし整数
l 4 バイトの符号付き整数
L 4 バイトの符号なし整数
f 4 バイトの浮動小数点数
d 8 バイトの浮動小数点数

Python 配列インデックス

インデックス演算子 [] を使用して配列の要素を取得できます。

インデックス演算子を使用して配列の要素を取得します

>>> a = array('i', [1,2,3,4])
>>> print("First element of array =", a[0])
First element of array = 1
>>> print("Second element of array =", a[1])
Second element of array = 2

index(x) メソッドを使用して、指定された値のインデックスを取得します

index(x) メソッドは、x の最初の出現の最小インデックスを返します。

>>> a = array('i', [1,2,3,4])
>>> print("1 is found at location:", a.index(1))
1 is found at location: 0
>>> print("4 is found at location:", a.index(4))
4 is found at location: 3

配列の負のインデックス

strings などの他の Python シーケンシャルデータ型と同様、liststuplesrange オブジェクト、配列内の要素にアクセスするために負のインデックスを使用することもできます。

>>> a = array('i', [1,2,3,4])
>>> print("last element of array:",a[-1])
last element of array: 4

Python 配列を反復処理する

まず最初に、配列の長さを見つけます:

配列 len() メソッド

len() メソッドは配列内の要素の数を返します。

>>> a = array('i', [1,2,3,4])
>>> print("length of a:", len(a))
length of a: 4

配列を反復処理する

for ループを使用して、配列の要素を反復処理できます。

>>> a = array('i', [1,2,3,4])
>>> for i in range(len(a)):
	print(a[i])
1
2
3
4

または

>>> a = array('i', [1,2,3,4])
>>> for i in a:
	print(i)
1
2
3
4

Python 配列の更新

append()

配列メソッド append() を使用して、配列の末尾にアイテムを追加できます。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.append(10)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])

insert(i, x)

insert(i, x) メソッドを使用して、指定されたインデックス i に要素 x を挿入できます。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.insert(3,44)
>>> print(a)
array('i', [1, 2, 3, 44, 4, 5, 7, 8, 9])

extend(x)

append(x) は、配列にアイテム x を 1つのアイテムとして追加します。extend(x) メソッドは、指定されたオブジェクト x のすべての要素を追加することで配列を拡張する正しいメソッドです。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.extend([10,11,12,13,14,15])
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15])
警告

x が別の配列である場合、まったく同じデータ型コードを持つ必要があります。そうでない場合、TypeError が発生します。 x が Python 配列でない場合、それは反復可能でなければならず、その要素は拡張される配列と同じデータ型でなければなりません。

fromlist()

fromlist() はリストから要素を配列に追加します。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> l = [10,11]
>>> a.fromlist(l)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

Python 配列を変更するさまざまな方法

reverse()

reverse() は配列を逆にします。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.reverse()
>>> print(a)
array('i', [9, 8, 7, 5, 4, 3, 2, 1])

+演算子

2つの配列は、「+」演算子を使用して連結できます。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> b = array('i', [10,11])
>>> print(a + b)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])

*演算子

*演算子は、配列内の要素を特定の回数繰り返します。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a = a * 2
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 1, 2, 3, 4, 5, 7, 8, 9])

ここでは、要素が 2 回繰り返されます。

Python 配列から要素を削除する

del ステートメントは配列から 1つ以上のアイテムを削除します。del を使用して配列全体を削除することもできます。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> del a[3]
>>> print(a)
array('i', [1, 2, 3, 5, 7, 8, 9])
>>> del a			#entire array is deleted

remove(x)

remove() は配列から最初に出現する x を削除します:

>>> a = array('i', [1,2,3,4,5,7,8,9,3])
>>> a.remove(3)
>>> print(a)
array('i', [1, 2, 4, 5, 7, 8, 9, 3])

pop()

pop() は配列から最後の要素を削除して返します。

>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.pop()
9
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8])

配列メソッド

次の表で、配列メソッドについて説明します。

 方法  説明
 append()  配列の最後にアイテムを追加します
 extend()  配列に複数のアイテムを追加します。配列の要素を別の配列(要素を追加する)に追加することで機能します。
 insert()  目的の場所に要素を追加します。
 remove()  配列から特定のアイテムを削除します。
 pop()  特定の場所からアイテムを削除し、そのアイテムを返します。
 clear()  配列からすべての要素を削除します。
 index()  配列内で最初に一致した要素のインデックスを返します。
 count()  渡されたアイテムの総数を返します
 sort()  配列の要素を昇順で並べ替えます。
 reverse()  配列の要素の順序を逆にします。
 copy() 既に存在する配列のコピーを返します。
comments powered by Disqus