Pythonのリストを徹底解説!

こんにちは。ゆうせいです。

Pythonを学び始めると最初に出会う、最も基本的でパワフルな道具の一つが「リスト」です。この記事では、リストとは何か、そしてその基本的な使い方を、新人エンジニアの皆さんにも分かりやすく解説していきますね!


リストとは? 🗂️

Pythonのリストとは、複数のデータを順番に格納できる、非常に便利な「入れ物」のことです。

ちょうど、買い物リストやTo-Doリストのように、項目を順番に並べて、後から追加したり、順番を入れ替えたり、消したりできるのをイメージしてください。

  • 順序がある (Ordered): 格納した要素の順番は保持されます。
  • 変更可能 (Mutable): 要素を追加、変更、削除することが自由にできます。
  • 色々な型を格納できる: 数値や文字列、さらには別のリストまで、様々な種類のデータを一緒に入れることが可能です。

リストの作り方

リストは角括弧[]を使って作成します。

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

# いくつかの要素を持つリストを作成
fruits = ["apple", "banana", "cherry"]

# 数値と文字列が混在したリストもOK
mixed_list = [1, "hello", 3.14]

print(fruits)
# 出力結果: ['apple', 'banana', 'cherry']

要素へのアクセス方法

リストの中にある個々のデータ(要素)には、「インデックス」という番号を使ってアクセスします。

インデックス指定

大事なポイントは、インデックスは0から始まるということです。

  • リスト名[0]: 最初の要素
  • リスト名[1]: 2番目の要素
  • リスト名[-1]: 最後の要素(マイナスを使うと後ろから数えられます!)
fruits = ["apple", "banana", "cherry", "orange"]

# 最初の要素を取得
first_fruit = fruits[0]
print(first_fruit)  # 'apple'

# 3番目の要素を取得
third_fruit = fruits[2]
print(third_fruit)  # 'cherry'

# 最後の要素を取得
last_fruit = fruits[-1]
print(last_fruit) # 'orange'

スライス

リストの一部を範囲指定でごっそり取り出したい場合は、「スライス」を使います。[開始インデックス:終了インデックス]のように書きますが、終了インデックスの要素は含まれない点に注意してください。

fruits = ["apple", "banana", "cherry", "orange", "grape"]

# 2番目から4番目の直前まで(インデックス1, 2)を取得
some_fruits = fruits[1:3]
print(some_fruits) # ['banana', 'cherry']

# 最初から3番目の直前までを取得
head_fruits = fruits[:2]
print(head_fruits) # ['apple', 'banana']

リストの操作:追加・変更・削除 ✍️

リストは「変更可能」なので、中身を自由自在に操作できます。

要素の追加

  • append(): リストの末尾に要素を追加します。
  • insert(): 指定した位置に要素を挿入します。
fruits = ["apple", "banana"]

# 末尾に 'cherry' を追加
fruits.append("cherry")
print(fruits) # ['apple', 'banana', 'cherry']

# 最初に 'strawberry' を挿入 (インデックス0の位置)
fruits.insert(0, "strawberry")
print(fruits) # ['strawberry', 'apple', 'banana', 'cherry']

要素の変更

インデックスを指定して、新しい値を代入するだけです。

fruits = ["apple", "banana", "cherry"]

# 2番目(インデックス1)の要素を 'blueberry' に変更
fruits[1] = "blueberry"
print(fruits) # ['apple', 'blueberry', 'cherry']

要素の削除

  • del: 指定した位置の要素を削除します。
  • remove(): 指定したを持つ最初の要素を削除します。
fruits = ["apple", "banana", "cherry", "banana"]

# 3番目(インデックス2)の要素を削除
del fruits[2]
print(fruits) # ['apple', 'banana', 'banana']

# 'banana' という値を持つ最初の要素を削除
fruits.remove("banana")
print(fruits) # ['apple', 'banana']

まとめと今後の学習

リストは、関連するデータをまとめて扱いたいときに非常に役立つ、Pythonプログラミングの基本中の基本です。

  • 複数のデータを順番に格納する入れ物
  • インデックスは0から始まる
  • 要素の追加、変更、削除が自由にできる

まずは、身の回りの好きなもの(好きな映画、好きな食べ物など)をリストにして、今回学んだ操作を色々と試してみてください。

次は、リストをより効率的に作成できる「リスト内包表記」や、変更不可能なリストである「タプル」、キーと値でデータを管理する「辞書」について学んでみると、さらにPythonの世界が広がりますよ!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。