Pythonの基本的な配列についてわかりやすく解説

Pythonのプログラミングを始めたいと思っている方や始めたばかりの方にとって、Pythonの配列は扱い方がよくわからない場合があることでしょう。しかし、Pythonの配列はプログラミングを行う上で重要な基本操作の一つなので、しっかり押さえておく必要があります。

 そこで、本記事ではPythonの配列について、基本的な配列の操作方法を中心に、実際の具体的なコードの入力例を交えながら初心者の方でもわかりやすくまとめてみましたので、是非参考にしてみてください。

そもそもPythonの配列とは何?

Pythonの配列は「リスト」と呼ばれるもので、一度に多くの連続した配列を順序付けて扱うことが可能です。

リストは鉤括弧をつけて使用しますが、鉤括弧の中に格納した値は「要素」と呼ばれ、それぞれに「インデックス」という番号が付与される仕組みになっています。インデックスを使用することによって要素にアクセスできるのが便利な点です。

 例えば、以下のリストのコードを見てみましょう。

 my_list = ['a', 'b', 'c', 'd','e']

要素はa-eのアルファベットそれぞれを指し、インデックスは以下のようにそれぞれのアルファベットに対応した0から始まる数字になります。なお、要素が数字であれば関係ないですが、アルファベットのような文字の場合は上記のように「’」で括らなければエラーが出てしまいます。

要素abcde
インデックス01234

Pythonの配列を実行するまでの流れ

Pythonの配列を行うためにはPythonのインストールをしておかなければなりません。それを踏まえた形での手順を以下に示します。

  1. Pythonの公式ウェブサイト (https://www.python.org) からPythonのインストーラーをダウンロード
  2. ダウンロードしたファイルをクリックして実行
  3. 「Install Now」をクリックしてデフォルトのインストール設定でPythonをインストール
  4. デバイスの変更許可の確認というメッセージがあった場合は「Yes」をクリック
  5. インストール完了したら、「close」をチェックする
  6. Windowsであればコマンドプロンプトを開く(macOSの場合はターミナル)
  7. 「Python」と入力し、Enterキーを押す

これにより、Pythonの対話型シェルが起動し、Pythonの配列のコードを直接入力し実行することができます。なお、Pythonの対話型シェルを終了するには、exit() または Ctrl + Z を入力し、 Enter キーを押して終了します。

また、Pythonの公式ホームページからダウンロードするやり方以外にも、初心者向けの方法として「Jupyter Notebook」を使用するのもお勧めです。Anacondaのダウンロードページ (https://www.anaconda.com/download) から「Abacobda-Navigator」をインストールし、その中に含まれるJupyter Notebookを開けばすぐにPythonの配列を実行することができます。

Pythonの配列を扱うための実際の基本的操作

Pythonの配列やそれまでの手順がどのようなものかわかったところで、具体的な操作手順について説明してみたいと思います。

配列の作成

まずはどのようなものでも良いのでリストを作成してみましょう。例としては以下に示したようなものです。

sample_list = [‘apple’, ‘banana’, ‘orange’, ‘Grape’] 

要素へのアクセス

上記のリストからリスト内の要素にアクセスするためには、インデックスを使用します。以下の方法で実行できます。

#インデックス0の要素にアクセスPrint(sample_list[0])

実行結果:apple

コードの前にタイトルをつけたい場合は、上記のように「#」のすぐ後に名前を入力すればコードとして認識されないので、わかりやすくコメントを残すことができます。同様に、インデックス2で要素にアクセスしようとすると以下の通りになります。

Print(sample_list[2])

実行結果:orange

存在しないインデックスを入力してしまうと以下のようにエラーメッセージが出てしまいます。

Print(sample_list[7])

実行結果:IndexError: list index out of range

要素の追加あるいは削除

要素の追加あるいは削除も簡単に実行することができます。まず、要素を追加したい場合はappendメソッドを使用して実行します。以下の例ではリストにmelonを追加したいと思います。

sample_list = [‘apple’, ‘banana’, ‘orange’, ‘Grape’]#要素の追加sample_list.append('melon')print(sample_list)

実行結果:[‘apple’, ‘banana’, ‘orange’, ‘Grape’, ‘melon’]

次にinsertメソッドを使用して指定した位置に違う要素を挿入することができます。以下の例ではapple とbananaの間にmangoを挿入したいと思いますので、インデックスの値は1になります。 

# 指定した位置に要素を挿入するsample_list = ['apple', 'banana', 'orange', 'Grape', 'melon']sample_list.insert(1,'mango')print(sample_list)

実行結果:[‘apple’, ‘mango’, ‘banana’, ‘orange’, ‘Grape’, ‘melon’]

要素を削除したい時はremoveメソッドを用いて行います。以下の例ではGrapeを削除してみます。

# 指定した要素を削除sample_list = ['apple', 'mango', 'banana', 'orange', 'Grape', 'melon']sample_list.remove('Grape')print(sample_list)

実行結果:[‘apple’, ‘mango’, ‘banana’, ‘orange’, ‘melon’]

要素を全て削除したいときはremoveの代わりにclear()を使用すると良いです。メソッド実行後は空のリストになります。他にもdelと呼ばれる演算子やpop()の使用でも要素の削除は可能です。特にpop()の場合は以下のように指定したインデックスに対応した要素を削除できるので、便利な操作メソッドです。

# 指定したインデックスを削除sample_list = ['apple', 'mango', 'banana', 'orange', 'melon']sample_list.pop(0)print(sample_list)

実行結果:[”mango’, ‘banana’, ‘orange’, ‘melon’]

配列のスプライシング

リストの一部だけを使用したいときはスプライシングを行います。以下の例のようにスライスを用いることで様々な形でスプライシングを実行することができます。

sample_list = ['apple', 'mango', 'banana', 'orange', 'melon'] # インデックス1から3の要素を取得slice_list = sample_list[1:3]print(slice_list)

実行結果:[‘mango’, ‘banana’]

# 先頭から3番目までの要素を取得slice_list = sample_list[:3]print(slice_list)

実行結果:[‘apple’, ‘mango’, ‘banana’]

# 末尾から3番目以降の要素を取得slice_list = sample_list[-3:]print(slice_list)

実行結果:[‘banana’, ‘orange’, ‘melon’]

配列の長さ

リストの長さとは要素数のことを指し、len() という関数を使用することによってリストの中の要素数のカウントを実行できます。

sample_list = ['apple', 'mango', 'banana', 'orange', 'melon']length = len(sample_list)print(length)

実行結果:5

配列の検索

リストの中に指定した要素が含まれているか否かを検索したいときに役立つのが「in」という演算子になります。検索した要素が含まれる場合は「True」と出力され、要素が含まれていない場合は「False」と出力されます。

sample_list = ['apple', 'mango', 'banana', 'orange', 'melon']#要素を検索print(‘mango’ in sample_list)

実行結果:True

#要素を検索print(‘Grape’ in sample_list)

実行結果:False

Pythonの配列を扱う上で大切なこと

配列の基本的な操作方法についてはなんとなくは把握できたかと思いますが、最後にPythonの配列を扱う上で大切にしてほしいことを実際の操作例を交えながら紹介します。

配列の操作方法を理解し実行する

まずは上記のようなリストの基本的な操作方法を理解し、実際に実行してみることが重要です。要素の追加、削除、取得、インデックスやスライスなどの操作を理解し、適切に使用することによって、効率的に作業ができるようになり、様々な応用も効くようになるでしょう

配列内包表記の活用

これは「リスト内表記」とも呼ばれるもので、既存のリストから新しいリストや少し複雑なリストを作成したいとき、フィルタリング変換を行う際などに有用です。「For 要素 in リスト」の記載をするような形になりますが、具体例を以下に示します。

sample_list = [1, 2, 3, 4, 5, 6] # 1から6までの偶数のリストを生成even_numbers = [x for x in range(1, 7) if x % 2 == 0]print(even_numbers)

実行結果:[2, 4, 6]

# 1から6まで数値の2乗を生成even_numbers = [x**2 for x in range(1, 7)]print(even_numbers)

実行結果:[1, 4, 9, 16, 25, 36]

配列の比較と結合

複数の配列を同時に扱う場合、それらの比較や結合を行うようにできることは重要です。「==」という演算子は比較するリストの内容が同じかどうかをチェックし、「is」を使った演算子による比較では同一のオブジェクトを参照しているかどうかをチェックします。実行結果は「in」による検索と同様で、「True」もしくは「False」として出力されます。

a = [1, 2, 3, 4]b = [1, 2, 3, 4]print(a == b)

実行結果:True

print(a is b)

実行結果:False

print(a is a)

実行結果:True

次にextend()と呼ばれる操作メソッドを使用することで、リスト同士の結合やリストに文字列を結合させることができます。以下の「#リスト同士の結合」ではsample_list1の最後のところにsample_list2の要素が結合されています。さらに、以下の「#リストに文字列を結合」のところでは、文字列の’efj’が結合されたことがわかります。 

sample_list1 = ['a', 'b', 'c', 'd']sample_list2= ['h', 'i', 'j', 'k']#リスト同士の結合sample_list1.extend(sample_list2)print(sample_list1)

実行結果:[‘a’, ‘b’, ‘c’, ‘d’, ‘H’, ‘i’, ‘j’, ‘k’]

#リストに文字列を結合sample_list1.extend('efg')print(sample_list1)

実行結果:[‘a’, ‘b’, ‘c’, ‘d’, ‘H’, ‘i’, ‘j’, ‘k’, ‘e’, ‘f’, ‘g’]

extend()の他にも「+」という演算子やjoin()を用いることで、上記のような結合を行うこともできます。 

配列のメソッドについて使い方を知る

Pythonのリストは本記事で紹介した基本的なものの他にも便利な機能が多々あります。まずは基本的なappend()、extend()、insert()、remove()等の操作メソッドに慣れ、in、join()、sorted()などの演算子も活用することで、Pythonの配列を効果的に使いこなすことができますリストは可変的なデータ構造であり、この性質を理解した上で、必要に応じて要素の変更や追加を行うようにしましょう。

さらにPythonの配列について勉強してみたい方は、Pythonの公式ドキュメントをチェックすることをお勧めします。Pythonのバージョンごとのドキュメントを確認することができます。

Pythonの配列についてのまとめ

 今回はPythonの配列に関して、基本的かつ重要な操作メソッドあるいは演算子を中心に、具体的な操作方法を交えて紹介しました。本記事を参考に、実際にPythonでリストのコードを入力してみて実行結果を確認してみるのが一番良いでしょう。

Pythonの配列は今回紹介したもの以外にも様々あり、使いこなすことができれば一度に多くの連続したデータなどを効率的に扱うことができるようにもなります。まずは基本的なところを抑えて、Pythonの配列をマスターしてみましょう。

最新情報をチェックしよう!