Pythonで配列を達人級に操作するための10の方法 – Japanシーモア

Pythonで配列を達人級に操作するための10の方法

初心者向けPython配列操作ガイドPython
この記事は約12分で読めます。

 

【サイト内のコードはご自由に個人利用・商用利用いただけます】

このサービスは複数のSSPによる協力の下、運営されています。

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

基本的な知識があればカスタムコードを使って機能追加、目的を達成できるように作ってあります。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を凌駕する現役のプログラマチームによって監修されています。

サイト内のコードを共有する場合は、参照元として引用して下さいますと幸いです

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

Pythonを学び始める多くの方々が、配列操作について深く知りたいと思っています。

この記事ではPythonを使用した配列操作の方法を、基本から高度な技術まで細かく説明します。

この記事を読み終えるころには、あなたもPythonで配列操作を達人級にこなせるでしょう。

●Pythonの配列とは

配列とは、複数のデータを一元管理するためのデータ構造の一つです。

Pythonでは配列の代わりに「リスト」という概念があり、配列と同じような操作が可能です。

配列(リスト)は、複数の要素を順序付けて一つの変数で管理できるため、プログラムの中で非常に重要な役割を果たします。

○配列の基本操作

配列は基本的には次のような操作を行います。

  1. 配列の作成
  2. 配列への要素の追加
  3. 配列からの要素の削除
  4. 配列の要素数の取得

これらの操作を理解することが、Pythonで配列を扱う第一歩となります。

○Pythonでの配列作成方法

Pythonで配列を作成するには、リストを使用します。

リストは角括弧([])を使って定義し、その中に要素をカンマ区切りで入れていきます。

my_list = [1, 2, 3, 4, 5]
print(my_list)

このコードではリスト(配列)my_listを作成し、その中に1から5までの整数を要素として入れています。

この例ではprint文を用いてリストの中身を出力しています。

実行結果は下記のようになります。

[1, 2, 3, 4, 5]

と出力され、配列my_listの中身が確認できます。

●配列操作の基本

さて、配列を作成した後には、要素の追加や削除、要素数の取得など、基本的な配列操作を行います。

○配列への要素追加

配列への要素追加は、Pythonでは’append’関数を用いて行います。

my_list.append(6)
print(my_list)

このコードでは、既存の配列my_listに要素として6を追加しています。

append関数は配列の最後に新たな要素を追加する関数です。この例ではprint文を使って追加後の配列の中身を出力しています。

実行結果:

[1, 2, 3, 4, 5, 6]

と出力され、新たに6が追加されたことが確認できます。

○配列からの要素削除

配列からの要素削除もPythonでは簡単に行うことができます。

具体的には’remove’関数を使います。

my_list.remove(1)
print(my_list)

このコードでは、配列my_listから要素1を削除しています。

remove関数は引数に指定した要素を配列から探し、最初に見つけたものを削除します。

この例ではprint文を使って削除後の配列の中身を出力しています。

実行結果は下記のようになります。

[2, 3, 4, 5, 6]

と出力され、1が削除されたことが確認できます。

○配列の要素数の取得

配列の要素数を取得するには、Pythonの組み込み関数である’len’関数を用います。

length = len(my_list)
print(length)

このコードでは、配列my_listの要素数を取得しています。len関数は配列の長さ(要素数)を返す関数です。

この例では、取得した要素数をprint文で出力しています。

実行結果は下記のようになります。

5

と出力され、配列my_listの要素数が5であることが確認できます。

●Pythonによる配列の高度な操作

配列の基本的な操作を押さえたところで、次はPythonでの配列の高度な操作方法について説明します。

  1. 配列の要素のソート
  2. 配列内の特定の要素を検索する
  3. 配列の要素を反転させる
  4. 配列の要素をすべて同じ値で初期化する

これらの操作もPythonでは簡単に実行でき、配列操作の達人への道を進むための重要なステップとなります。

○配列の要素のソート

配列の要素をソート(並べ替え)するには、Pythonのリストメソッドである’sort’関数を使用します。

my_list.sort()
print(my_list)

このコードでは、配列my_listの要素をソートしています。

sort関数は配列の要素を昇順にソートします。

この例では、ソート後の配列をprint文で出力しています。

実行結果は下記のようになります。

[2, 3, 4, 5, 6]

と出力され、要素が昇順にソートされていることが確認できます。

○配列内の特定の要素を検索する

配列内の特定の要素を検索する場合は、’index’関数を使用します。

この関数は、指定した要素が配列の何番目に存在するかを返す関数です。

index = my_list.index(3)
print(index)

このコードでは、配列my_list内に存在する要素3のインデックスを取得しています。

index関数は引数として渡した要素が初めて登場するインデックスを返します。

この例では、取得したインデックスをprint文で出力しています。

実行結果は下記のようになります。

1

と出力され、要素3はインデックス1の位置に存在していることが確認できます。

○配列の要素を反転させる

配列の要素を反転させるには、Pythonのリストメソッドである’reverse’関数を用います。

my_list.reverse()
print(my_list)

このコードでは、配列my_listの要素を反転させています。

reverse関数は配列の要素の並びを反転させる関数です。

この例では、反転後の配列をprint文で出力しています。

実行結果は下記のようになります。

[6, 5, 4, 3, 2]

と出力され、配列の要素が反転されていることが確認できます。

○配列の要素をすべて同じ値で初期化する

配列の要素をすべて同じ値で初期化するには、Pythonのリスト内包表記を使用します。

my_list = [0] * 5
print(my_list)

このコードでは、配列my_listの全ての要素を0で初期化しています。

Pythonのリスト内包表記では、特定の値で配列を初期化することが可能です。

この例では、初期化後の配列をprint文で出力しています。

実行結果は下記のようになります。

[0, 0, 0, 0, 0]

と出力され、すべての要素が0で初期化されていることが確認できます。

●配列操作の具体的な例

Pythonの配列操作には様々な方法がありますが、まずはリストを使った配列の作成とその基本的な操作について見ていきましょう。

○サンプルコード1:リストを使った配列作成と操作

Pythonで配列を扱う際には、主にリストというデータ構造を用います。

下記のコードではリストを作成し、その要素を表示しています。

# リストの作成
my_list = [1, 2, 3, 4, 5]

# リストの要素表示
for item in my_list:
    print(item)

このコードでは、リストmy_listを作成し、その中に1から5までの数値を格納しています。

次に、forループを使ってリストの各要素を順番に出力しています。

実行結果は下記のようになります。

1
2
3
4
5

と出力され、リストの要素が順番に表示されていることが確認できます。

○サンプルコード2:配列に要素を追加する

次に、配列に新たな要素を追加する方法について説明します。

リストに新たな要素を追加するには’append’メソッドを使用します。

# 要素の追加
my_list.append(6)
print(my_list)

このコードでは、リストmy_listに新たな要素6を追加しています。

appendメソッドは、引数として渡した要素をリストの末尾に追加します。

この例では、要素追加後のリストを出力しています。

実行結果は下記のようになります。

[1, 2, 3, 4, 5, 6]

と出力され、要素6がリストの末尾に追加されていることが確認できます。

○サンプルコード3:配列から要素を削除する

配列から要素を削除するには’remove’メソッドを用います。

このメソッドは引数として渡した要素をリストから削除します。

# 要素の削除
my_list.remove(3)
print(my_list)

このコードでは、リストmy_listから要素3を削除しています。

removeメソッドは、引数として渡した要素をリストから削除します。

この例では、要素削除後のリストを出力しています。

実行結果は下記のようになります。

[1, 2, 4, 5, 6]

と出力され、要素3がリストから削除されていることが確認できます。

○サンプルコード4:配列の要素をソートする

配列の要素を整列するには、Pythonの組み込み関数である’sort’を用います。

下記のコードは配列の要素を昇順にソートしています。

# リストを作成
my_list = [5, 3, 1, 4, 2]

# リストのソート
my_list.sort()

# 結果の表示
print(my_list)

このコードでは、まず5つの要素を持つリストmy_listを作成しています。

その後、sortメソッドを使用してリストの要素を昇順にソートし、その結果を表示しています。

実行結果は下記のようになります。

[1, 2, 3, 4, 5]

と出力され、リストの要素が昇順にソートされていることが確認できます。

○サンプルコード5:配列内の特定の要素を検索する

配列内の特定の要素を探すには、’index’メソッドを用います。

下記のコードは配列内の特定の要素のインデックスを取得しています。

# インデックスの検索
index = my_list.index(4)

# 結果の表示
print(index)

このコードでは、リストmy_listの中から要素4のインデックスを検索しています。

indexメソッドは、引数として渡した要素がリストの何番目に存在するかを返します。

この例では、要素4のインデックスを表示しています。

実行結果は下記のようになります。

3

と出力され、要素4がリスト内で4番目(インデックスは0から開始)に位置していることが確認できます。

○サンプルコード6:配列の要素を反転させる

配列の要素を反転させるには、’reverse’メソッドを用います。

下記のコードは配列の要素を反転させています。

# リストの反転
my_list.reverse()

# 結果の表示
print(my_list)

このコードでは、リストmy_listの要素を反転させています。

reverseメソッドは、リストの要素を反転させ、その結果をリスト自身に適用します。

この例では、反転後のリストを表示しています。

実行結果は下記のようになります。

[5, 4, 3, 2, 1]

と出力され、リストの要素が反転していることが確認できます。

○サンプルコード7:配列の要素をすべて同じ値で初期化する

配列の全ての要素を一度に特定の値で初期化するには、リストのスライスを用います。

下記のコードは配列の要素を全て0で初期化しています。

# 配列の全要素を0で初期化
my_list[:] = [0]*len(my_list)

# 結果の表示
print(my_list)

このコードでは、リストのスライスにより全要素を一度に指定した値で更新しています。

この例では、リストの長さと同じ数の0を生成し、それをリストの全要素に代入しています。

実行結果は下記のようになります。

[0, 0, 0, 0, 0]

と出力され、リストの全ての要素が0になっていることが確認できます。

●Python配列操作の注意点と対処法

Pythonで配列を操作する際には注意が必要です。

それでは、具体的な注意点とそれに対する対処法を紹介します。

  1. 要素の検索に失敗する

配列内に存在しない要素のインデックスを検索しようとするとエラーが発生します。

これは、’index’メソッドが要素が存在しない場合にはエラーを返すためです。

これを防ぐためには、要素が存在するかどうかを事前に確認するか、例外処理を用いる方法があります。

# リストを作成
my_list = [1, 2, 3, 4, 5]

# 要素の存在確認と検索
if 6 in my_list:
    index = my_list.index(6)
else:
    index = None

# 結果の表示
print(index)

このコードでは、まず要素6がリスト内に存在するかどうかを確認しています。

存在していれば、そのインデックスを取得し、存在していなければNoneを代入しています。

実行結果は下記のようになります。

None

と出力され、エラーが発生せずに要素が存在しない場合の処理が実行されていることが確認できます。

  1. 配列が空の状態で操作を行う

配列が空(要素が一つもない状態)の時に、要素にアクセスしたり、ソートを行ったりしようとするとエラーが発生します。

これは、Pythonがインデックスが範囲外のアクセスを許可しないためです。

これを防ぐためには、配列が空でないことを確認してから操作を行うか、例外処理を用いる方法があります。

# 空のリストを作成
my_list = []

# リストが空でない場合にソートを実行
if my_list:
    my_list.sort()
else:
    print('リストは空です。')

このコードでは、リストが空でないかどうかを確認してからソートを行っています。

リストが空の場合はメッセージを表示しています。

実行結果は下記のようになります。

'リストは空です。'

と出力され、エラーが発生せずにリストが空の場合の処理が実行されていることが確認できます。

●配列操作のカスタマイズ方法

Pythonの配列操作は多機能であり、さまざまなカスタマイズが可能です。

例えば、配列のソートでは、デフォルトでは昇順にソートされますが、降順にソートすることも可能です。

また、特定の条件に基づいて要素をソートすることも可能です。

# リストを作成
my_list = [5, 3, 1, 4, 2]

# 降順にソート
my_list.sort(reverse=True)

# 結果の表示
print(my_list)

このコードでは、sortメソッドに引数reverseをTrueとして渡し、リストの要素を降順にソートしています。

実行結果は下記のようになります。

[5, 4, 3, 2, 1]

と出力され、リストの要素が降順にソートされていることが確認できます。

まとめ

この記事ではPythonで配列を達人級に操作するための技術と注意点を詳しく解説しました。

これらの知識を駆使することで、あなたもPythonで配列操作の達人になることができます。

Pythonで配列操作を行う際は、エラーを防ぐための注意点を理解した上で、自身のニーズに応じて操作をカスタマイズすることが重要です。

今回学んだ知識を活かして、Pythonで配列を効率的に操作してみてください。

これらの技術を身につけることで、Pythonプログラミングの幅がさらに広がることでしょう。