Categories: python

初心者でもわかる!Pythonの配列(リスト)の使い方徹底解説

Pythonを学び始めた人にとって、まず覚えたいのが「配列」の使い方です。Pythonでは「配列」という用語よりも「リスト」と呼ばれるデータ型がよく使われます。リストは複数のデータをまとめて管理できる便利な仕組みで、データ分析、Webアプリ、機械学習などさまざまな分野で活用されています。この記事では、Pythonの配列(リスト)の基本から応用までを、サンプルコード付きでわかりやすく解説していきます。

Pythonにおける「配列」とは?

Pythonで配列と呼ばれるものにはいくつかの種類がありますが、最も一般的なのが「リスト(list)」です。リストは複数の要素を一つにまとめて扱うことができ、さまざまな型の値を一緒に格納できます。

fruits = ['apple', 'banana', 'orange']
print(fruits)

上記のように、角括弧 [] を使ってリストを定義します。fruits には文字列が3つ含まれています。


リストの基本操作

要素の取得(インデックスアクセス)

リスト内の要素にはインデックス(位置)を使ってアクセスできます。Pythonでは0から始まります。

print(fruits[0])  # 'apple'
print(fruits[2]) # 'orange'

マイナスのインデックスを使えば、後ろからも取得できます。

print(fruits[-1])  # 'orange'

要素の変更

特定のインデックスに新しい値を代入することで、値を変更できます。

fruits[1] = 'grape'
print(fruits) # ['apple', 'grape', 'orange']

要素の追加

append() メソッドを使えば、リストの末尾に新しい要素を追加できます。

fruits.append('peach')
print(fruits) # ['apple', 'grape', 'orange', 'peach']

要素の削除

remove()pop() を使って削除も可能です。

fruits.remove('grape')  # 値で削除
print(fruits)

fruits.pop(0) # インデックスで削除
print(fruits)

リストの繰り返し処理(ループ)

リストは for 文と組み合わせて繰り返し処理ができます。

for fruit in fruits:
print(fruit)

インデックス付きでループしたい場合は enumerate() を使うと便利です。

for i, fruit in enumerate(fruits):
print(f'{i}: {fruit}')

リストの便利なメソッド

Pythonのリストには、よく使われる便利なメソッドがたくさんあります。以下はその一部です。

numbers = [3, 1, 4, 1, 5, 9]

print(len(numbers)) # 要素数の取得
print(sorted(numbers)) # 昇順ソート(元のリストは変更しない)
numbers.sort() # 昇順ソート(元のリストを変更)
print(numbers)

print(numbers.count(1)) # 指定した値の出現回数
print(numbers.index(5)) # 指定した値のインデックス

スライスで一部を取り出す

スライス構文を使えば、リストの一部を簡単に取り出すことができます。

numbers = [10, 20, 30, 40, 50]

print(numbers[1:4]) # [20, 30, 40]
print(numbers[:3]) # [10, 20, 30]
print(numbers[::2]) # [10, 30, 50]

リスト内包表記(内包リスト)

リストを生成する際に、短く書ける「リスト内包表記」もよく使われます。

squares = [x ** 2 for x in range(5)]
print(squares) # [0, 1, 4, 9, 16]

条件をつけることも可能です。

evens = [x for x in range(10) if x % 2 == 0]
print(evens) # [0, 2, 4, 6, 8]

リストと配列の違い(numpy配列との比較)

Python標準のリストと、数値計算用ライブラリ NumPy の「ndarray」は用途が異なります。

import numpy as np

a = np.array([1, 2, 3])
print(a + 1) # NumPy配列はベクトル演算が可能

Pythonのリスト同士では、加算は連結(結合)になります。

l = [1, 2, 3]
print(l + [4]) # [1, 2, 3, 4]

数値計算を大量に行う場合は、NumPyの配列を使った方が効率的です。


リストとタプルの違い

リストと似たデータ構造に「タプル(tuple)」があります。タプルは要素の変更ができない不変の配列です。

t = (1, 2, 3)
# t[0] = 10 # これはエラーになります

データを固定したい場合や、関数の戻り値で複数値を返すときに便利です。


多次元リスト(リストの中のリスト)

リストの中にリストを入れることで、二次元以上の配列も表現できます。

matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

print(matrix[1][2]) # 6

ループを使って処理することも可能です。

for row in matrix:
for item in row:
print(item, end=' ')

まとめ

Pythonにおける「配列」の使い方について、基本のリストから多次元リスト、内包表記やNumPyとの違いまで解説しました。Pythonではリストを使いこなせるかどうかが、プログラミングをスムーズに進める鍵となります。初心者のうちは特に、インデックスアクセス、追加・削除・ループ処理といった基本操作を丁寧にマスターすることをおすすめします。

配列操作を自在に扱えるようになれば、データ処理やアルゴリズムの実装がぐんと楽になります。ぜひ実際に手を動かしながら、リスト操作を自分のものにしていきましょう!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。

Recent Posts

C#でテキストファイルに書き込む方法を徹底解説!

プログラムからテキストファイル…

13時間 ago

比例と反比例を完全マスター!中学生にもわかる関数の基礎入門

数学の世界において「比例」と「…

13時間 ago

中学生でもわかる!一次方程式の解き方を丁寧に解説

数学の中でも「方程式」は、避け…

13時間 ago