Pythonにおける配列の扱い方


ccc

こんにちわ!東京都内でサラリーマンをしているAI・育児ブロガーのCCCです。 AI(人工知能)と子育てに関する記事を執筆しています。 WebシステムをベースとしたAIを活用することで生活をより便利にする方法を紹介し、育児について衣食住における役立つグッズや情報を配信しています。


Pythonにおける配列の扱い方を教えてください。


ccc

Pythonはオフサイドルールに基づいたオブジェクト指向型のスクリプト言語です。オフサイドルールとは処理のまとまりをブロックごとに字下げをして文の範囲を指定するコーディングルールで、字下げのルールを強制することで可読性が高まり、コードの記述量を少なくできます。数値計算や画像処理、Web開発、ネットワーク、データベースといった専門的なライブラリが豊富で、機械学習やAIの分野で活用されています。


ccc

今回はPythonの使い方として、Pythonにおける配列の扱い方をサンプルを用いて解説します。

配列を作成

配列の要素をカンマ(,)で区切って全体を括弧[]で囲います。

temp=["apple", "lemon", "orange"]
print(temp)
#['apple', 'lemon', 'orange']

配列の要素に新しい値を代入

配列の要素に新しい値を代入できます。

temp=["apple", "lemon", "orange"]
temp[0]="cherry"
print(temp)
#['cherry', 'lemon', 'orange']

多次元配列

配列の要素に配列を格納することで、多次元配列が作れます。

temp=[
["apple", 100],
["lemon", 50],
["orange", 30]
]
print(temp[0][0], temp[1][0], temp[2][0])
print(temp[0][1], temp[1][1], temp[2][1])
//apple lemon orange
//100 50 30

負の値のインデックスを指定

配列に負の値のインデックスを指定できます。

temp=["apple", "lemon", "orange"]
print(temp[-1])
#orange

配列の要素数を取得

len()は配列の要素数を返す関数です。

temp=["apple", "lemon", "orange"]
print(len(temp))
//3

配列の要素を入れ替える

スライスを使って配列に部分配列を代入することで、要素の入れ替えができます。

temp1=["a", "b", "c", "d"]
temp2=["B", "C"]
temp1[1:3]=temp2
print(temp1)
#['a', 'B', 'C', 'd']

指定した位置に要素を追加

開始と終了インデックスに要素を追加したいインデックスを指定することで、指定した位置に要素を追加できます。

temp1=["a", "d"]
temp2=["b", "c"]
temp1[1:1]=temp2
print(temp1)
#['a', 'b', 'c', 'd']

配列の末尾に要素を追加

+演算子を使って配列に要素を追加できます。

temp1=["apple", "lemon", "orange"]
temp2=["melon", "banana"]
temp1+=temp2
print(temp1)
#['apple', 'lemon', 'orange', 'melon']

配列の要素を削除

del文を使って配列の要素を削除できます。引数に削除したい要素のインデックスを指定します。

temp=["apple", "lemon", "orange", "melon"]
del temp[1:3]
print(temp)
#['apple', 'melon']

指定した値と同じ値を持つ要素のインデックスを取得

index()は引数に指定した値と同じ値を持つ要素のインデックスを取得するメソッドです。

temp=["apple", "lemon", "orange"]
print(temp.index("lemon"))
#1

配列の要素を並び替える

sort()は要素を並び替えるメソッドです。

次の例ではsortメソッドを使って昇順に要素を並び替えています。

temp=[30, 10, 20]
temp.sort()
print(temp)
//[10, 20, 30]

降順に要素を並び替えるにはsortedメソッドの引数に”reverse=True”を指定します。

temp=[10, 20, 30]
temp.sort(reverse=True)
print(temp)
//[30, 20, 10]