サーチ…


前書き

Pythonの「配列」は、CやJavaのような従来のプログラミング言語の配列ではなく、リストに近い配列です。リストは、同種または異種要素のコレクションにすることができ、int、文字列または他のリストを含むことができます。

パラメーター

パラメータ詳細
b サイズ1バイトの符号付き整数を表します。
B サイズ1バイトの符号なし整数を表す
c サイズ1バイトの文字を表します。
u サイズ2バイトのUnicode文字を表します。
h サイズが2バイトの符号付き整数を表します。
H 2バイトの符号なし整数を表す
i サイズが2バイトの符号付き整数を表します。
I 2バイトの符号なし整数を表す
w サイズが4バイトのUnicode文字を表します。
l サイズが4バイトの符号付き整数を表します。
L サイズが4バイトの符号なし整数を表す
f サイズが4バイトの浮動小数点を表します。
d サイズが8バイトの浮動小数点を表します。

配列の基本的な紹介

配列は、同じデータ型の値を格納するデータ構造です。 Pythonでは、これが配列とリストの主な違いです。

Pythonリストには、異なるデータ型に対応する値を含めることができますが、Pythonの配列には同じデータ型に対応する値しか含めることができません。このチュートリアルでは、いくつかの例があるPython配列を理解します。

Pythonを初めてお使いの方は、Pythonのはじめの記事から始めましょう。

Python言語で配列を使用するには、標準のarrayモジュールをインポートする必要があります。これは、配列が文字列、整数などの基本的なデータ型ではないためです。ここでは、Pythonでarrayモジュールをインポートする方法を示します:

from array import *

arrayモジュールをインポートしたら、 arrayを宣言できます。あなたのやり方は次のとおりです:

arrayIdentifierName = array(typecode, [Initializers])

上の宣言では、 arrayIdentifierNameは配列の名前、 typecodeは配列の型をPythonに知らせ、 Initializersは配列が初期Initializersされる値です。

型コードは、配列値の型または配列の型を定義するために使用されるコードです。パラメータセクションのテーブルは、配列とその型を宣言するときに使用できる値を示しています。

Pythonの配列宣言の実際の例を以下に示します:

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

上の例では、使用されるタイプコードはiです。この型コードは、サイズが2バイトの符号付き整数を表します。

ここでは、5つの整数を含む配列の簡単な例を示します

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

インデックスを使用して個々の要素にアクセスする

個々の要素は、索引を介してアクセスできます。 Python配列はゼロインデックス化されています。次に例を示します。

my_array = array('i', [1,2,3,4,5])
print(my_array[1])
# 2
print(my_array[2])
# 3
print(my_array[0])
# 1

append()メソッドを使用して配列に値を追加する

my_array = array('i', [1,2,3,4,5])
my_array.append(6)
# array('i', [1, 2, 3, 4, 5, 6])

6が既存の配列値に追加されていることに注意してください。

insert()メソッドを使用して配列に値を挿入する

insert()メソッドを使用して、配列の任意のインデックスに値を挿入できます。次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_array.insert(0,0)
#array('i', [0, 1, 2, 3, 4, 5])

上記の例では、値0がインデックス0に挿入されています。最初の引数はインデックスで、2番目の引数は値です。

extend()メソッドを使ってPython配列を拡張する

Python配列は、 extend()メソッドを使用して複数の値で拡張できます。次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_extnd_array = array('i', [7,8,9,10])
my_array.extend(my_extnd_array)
# array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])

配列my_arrayはmy_extnd_array値で拡張されています。

fromlist()メソッドを使用してリストから項目を配列に追加する

次に例を示します。

my_array = array('i', [1,2,3,4,5])
c=[11,12,13]
my_array.fromlist(c)
# array('i', [1, 2, 3, 4, 5, 11, 12, 13])

そこで、値11,12、および13がリストcからmy_array追加されたことがmy_arrayます。

remove()メソッドを使用して配列要素を削除する

次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_array.remove(4)
# array('i', [1, 2, 3, 5])

要素4が配列から削除されたことがわかります。

pop()メソッドを使用して最後の配列要素を削除する

popは配列から最後の要素を削除します。次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_array.pop()
# array('i', [1, 2, 3, 4])

したがって、最後の要素( 5 )が配列からポップされたことがわかります。

index()メソッドを使用して、そのインデックスを通じて任意の要素を取得します。

index()は、一致する値の最初のインデックスを返します。配列はゼロインデックス付けされていることに注意してください。

my_array = array('i', [1,2,3,4,5])
print(my_array.index(5))
# 5
my_array = array('i', [1,2,3,3,5])
print(my_array.index(3))
# 3

2番目の例では、値が配列内に2回存在しても、インデックスが1つだけ返されたことに注意してください

reverse()メソッドを使用してPython配列を逆順にする

reverse()メソッドは、名前が何をするかを指示します。つまり、配列を逆にします。次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_array.reverse()
# array('i', [5, 4, 3, 2, 1])

buffer_info()メソッドを使用して配列バッファ情報を取得する

このメソッドは、メモリ内の配列バッファの開始アドレスとarray内の要素の数を提供します。次に例を示します。

my_array = array('i', [1,2,3,4,5])
my_array.buffer_info()
(33881712, 5)

count()メソッドを使用して要素の出現回数をチェックする

count()count()を返し、要素は配列に現れます。次の例では、値3が2回発生することがわかります。

my_array = array('i', [1,2,3,3,5])
my_array.count(3)
# 2

tostring()メソッドを使用して配列を文字列に変換する

tostring()は配列を文字列に変換します。

my_char_array = array('c', ['g','e','e','k'])
# array('c', 'geek')
print(my_char_array.tostring())
# geek

tolist()メソッドを使用して同じ要素を持つ配列をpythonリストに変換する

Python listオブジェクトが必要なときは、 tolist()メソッドを使って配列をリストに変換することができます。

my_array = array('i', [1,2,3,4,5])
c = my_array.tolist()
# [1, 2, 3, 4, 5]

fromstring()メソッドを使用してchar配列に文字列を追加する

fromstring()を使用して文字配列に文字列を追加できます。

my_char_array = array('c', ['g','e','e','k'])
my_char_array.fromstring("stuff")
print(my_char_array)
#array('c', 'geekstuff')


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow