Pythonの「配列」:リストと仲間たちを使いこなそう!
プログラミングの世界で、複数のデータをまとめて扱うための便利な道具、それが「配列」です。しかし、Pythonの世界ではちょっと事情が異なります。厳密には「配列」という名前のデータ型は存在せず、それに近い役割を果たすのが「リスト」や「NumPy配列」です。今回は、Pythonにおける「配列」の役割を果たすリストを中心に、その使い方や特徴をわかりやすく解説します。
リストとは?
Pythonのリストは、複数の要素を順番に並べたものです。要素は数値、文字列、真偽値、さらにはリスト自身など、異なる型を混在させることができます。リストは角括弧 []
で囲み、要素はカンマ ,
で区切って記述します。
# 数値のリスト
numbers = [1, 2, 3, 4, 5]
# 文字列のリスト
fruits = ["apple", "banana", "orange"]
# 異なる型を混ぜたリスト
mixed_list = [1, "hello", True, 3.14]
リストの基本的な操作
リストには、要素を追加、削除、参照するなど、さまざまな操作が用意されています。
要素へのアクセス: リスト内の要素にアクセスするには、インデックス(要素の順番)を使用します。インデックスは0から始まることに注意しましょう。
fruits = ["apple", "banana", "orange"] print(fruits[0]) # "apple"が出力される print(fruits[2]) # "orange"が出力される
要素の追加: リストに要素を追加するには、
append()
メソッドを使用します。fruits = ["apple", "banana"] fruits.append("orange") print(fruits) # ["apple", "banana", "orange"]が出力される
要素の挿入: 特定の場所に要素を挿入するには、
insert()
メソッドを使用します。fruits = ["apple", "orange"] fruits.insert(1, "banana") # インデックス1の位置に"banana"を挿入 print(fruits) # ["apple", "banana", "orange"]が出力される
要素の削除: 要素を削除するには、
remove()
メソッドまたはdel
ステートメントを使用します。remove()
は指定した値を持つ最初の要素を削除し、del
はインデックスを指定して要素を削除します。fruits = ["apple", "banana", "orange"] fruits.remove("banana") print(fruits) # ["apple", "orange"]が出力される fruits = ["apple", "banana", "orange"] del fruits[0] print(fruits) # ["banana", "orange"]が出力される
リストの長さ: リストの要素数を調べるには、
len()
関数を使用します。fruits = ["apple", "banana", "orange"] print(len(fruits)) # 3が出力される
リストの便利な機能
リストには、繰り返し処理やスライスなど、さまざまな便利な機能があります。
繰り返し処理 (forループ): リストの各要素に対して順番に処理を行うには、
for
ループを使用します。fruits = ["apple", "banana", "orange"] for fruit in fruits: print(fruit) # "apple", "banana", "orange"が順番に出力される
スライス: リストの一部を切り出すには、スライスを使用します。スライスは
[開始インデックス:終了インデックス]
の形式で指定します。終了インデックスの要素は含まれないことに注意しましょう。numbers = [1, 2, 3, 4, 5] print(numbers[1:4]) # [2, 3, 4]が出力される print(numbers[:3]) # [1, 2, 3]が出力される (開始インデックスを省略すると最初から) print(numbers[2:]) # [3, 4, 5]が出力される (終了インデックスを省略すると最後まで)
NumPy配列
Pythonで数値計算を効率的に行うためには、NumPyライブラリのndarray
(NumPy配列)が非常に重要です。NumPy配列は、リストと似ていますが、すべての要素が同じ型である必要があり、より高速な演算が可能です。NumPyを使うには、まずimport numpy as np
でライブラリをインポートする必要があります。
import numpy as np
# NumPy配列の作成
numbers = np.array([1, 2, 3, 4, 5])
# NumPy配列に対する演算 (要素ごとの足し算)
numbers = numbers + 1
print(numbers) # [2 3 4 5 6]が出力される
まとめ
Pythonのリストは、柔軟で使いやすいデータ構造であり、さまざまな場面で活躍します。NumPy配列は、数値計算に特化しており、高速な演算が可能です。これらの「配列」の仲間たちを使いこなすことで、Pythonプログラミングの幅が大きく広がります。それぞれの特徴を理解し、適切なデータ構造を選択して、効率的なプログラミングを目指しましょう。
コラム一覧
◯for文
◯関数
◯配列
◯文字列
◯正規表現
◯ファイル入出力
◯openpyxl
◯Numpy
◯Matplotlib
◯Pandas
◯scikit-learn
◯seaborn
◯beautifulsoup
◯tkinter
◯OpenCV
◯pygame
◯メイン関数
◯自作ライブラリ
◯画像処理
◯機械学習
◯スクレイピング
◯データ分析
◯グラフ作成
◯API
◯可読性
◯デバッグ
◯例外処理
◯コメント
◯組み込み関数
◯flask
◯学び方
◯ビット演算
◯マルチスレッドプログラミング
◯参照渡し
◯pyenv
◯エディタ
◯生成AI
◯画像認識
◯Streamlit
◯lambda式
◯物理演算シミュレーション
◯命名規則
◯遺伝的アルゴリズム
◯関数型プログラミング
◯オブジェクト指向
◯ツリー図