【レッスン4-01】リストの定義と要素の追加を解説|Pythonデータ構造

ながみえ
【Python学習記事のアイキャッチ画像】Lesson4-1 リストの基本を理解しよう

Lesson3ではPythonの関数とスコープについて学習してきました。

今回からデータ構造編に入ります。このページはその入り口、関数の基本について見ていきます。

Lesson1:基礎文法編
Lesson2:制御構造編
Lesson3:関数とスコープ編
Lesson4:データ構造編
・Lesson4-1:リストの定義と要素の追加を理解しよう ◁今回はココ
・Lesson4-2:リストの要素を削除しよう
・Lesson4-3:リストの情報を調べよう
・Lesson4-4:リストの集計・並べ替えを理解しよう
・Lesson4-5:リストのスライスを理解しよう
・Lesson4-6:リストのループ処理を理解しよう
・Lesson4-7:リストの内包表記を理解しよう
・Lesson4-8:リスト・タプル・辞書・集合の概要と違いを理解しよう
・Lesson4-9:タプルの基本を理解しよう
・Lesson4-10:タプルのアンパックを理解しよう
・Lesson4-11:辞書の基本を理解しよう
・Lesson4-12:辞書のループ処理を理解しよう
・Lesson4-13:辞書の内包表記を使ってリストから辞書を作ろう
・Lesson4-13:集合(セット)の基本を理解しよう
・練習問題4-1:宝探しゲームを作ろう
・練習問題4-2:ナインゲームを作ろう 
・練習問題4-3:マルバツゲームを作ろう
Lesson5:オブジェクト指向編
次のステップ:Pythonを用いたアプリ開発

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson3-☆2 石取りゲームを作ろう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson4-2 リストの要素削除を理解しよう

リストの基礎知識と要素追加の具体例

ここからリストの説明に入ります。

ページ下部にはこのページで出てくる用語の意味をまとめた 用語集 もありますので、分からない言葉が出てきたらそちらも参考にしてください。

【Python】勉強猫がノートパソコンを前にして学習を始める様子。記事内の学習スタート用イラスト

Pythonのリストとは何か

Pythonのリストは 複数の値を一つの変数にまとめて格納 することができるデータ構造です。

リストは角括弧 [] で囲まれた要素の並びとして表現され、各要素はカンマで区切られます。

リストの要素は、数値、文字列、他のリストなど、さまざまなデータ型を含むことができます。

リストの定義方法

リストを作成するには角括弧 [] の中に要素を並べて変数に代入します。以下は数値と文字列を含むリストの作成例です。

# 数値のリスト
numbers = [1, 2, 3, 4] # 4つの数値を要素に持つリストを作成し、変数numbersに代入

# 文字列のリスト
fruits = ["りんご", "ばなな", "ぶどう"] # 3つの文字列を要素に持つリストを作成し、変数fruitsに代入

なお、Pythonではリスト内の要素は0から数えます。

つまり最初の要素はインデックス0、次はインデックス1となります。上のコードではnumbersの「2」やfruitsの「ばなな」はインデックス1になります。

また、リストは空で作成して後で要素を追加していくこともできます。

# 空のリストを作成
empty_list = [] # 要素を持たないリストを作成し、変数empty_listに代入

リストの基本操作:追加メソッドの使い方(append, extend, insert)

リストには要素を追加するためのいくつかのメソッドがあります。代表的なメソッドとして、appendextendinsert の3つを紹介します。

メソッドとは

メソッドとは特定のオブジェクトに対して実行できる関数のことです。Pythonではリストや文字列、辞書などのオブジェクトが持つ専用の操作を「メソッド」と呼びます。

たとえばリストの要素を追加したり、削除したりするメソッドがあります。これにより、リストの内容を効率的に操作できます。

メソッド自体の詳細解説は Lesson5-2:メソッドの基本 で行います。

appendメソッド

append メソッドはリストの末尾に新しい要素を追加します。追加する要素は1つだけです。

※メソッドを使う際にはリストの変数名の後に「ドット(.)」を付け、その後にメソッド名を書きます。今回のappendメソッドの例ならmy_list.append(値) となります。

my_list = [1, 2, 3] # 3つの要素を持つリストを作成
my_list.append(0)   # リストの末尾に0を追加
print(my_list)      # リストを出力。結果: [1, 2, 3, 0]

extendメソッド

extend メソッドはリストの末尾に他のリストの要素をすべて追加します。リスト同士を結合する際に便利です。

my_list = [1, 2, 3]		   # 3つの要素を持つリストを作成
my_list.extend([2, 3, 4])  # リストの末尾に別のリストを追加
print(my_list)             # リストを出力。結果: [1, 2, 3, 2, 3, 4]

insertメソッド

insert メソッドはリストの任意の位置に要素を挿入します。挿入する位置はインデックスで指定します。

my_list = [1, 2, 3]     # 3つの要素を持つリストを作成
my_list.insert(1, "a")  # インデックス1に文字"a"を挿入
print(my_list)          # リストを出力。結果: [1, "a", 2, 3]

リストの操作例

リストの操作をもう少し複雑にした例を見てみましょう。

以下ではリストに対して appendextendinsert の各メソッドを組み合わせて操作を行います。

# リストを作成
my_list = [10, 20, 30]

# appendを使って末尾に40を追加
my_list.append(40)
print(my_list)  # 結果: [10, 20, 30, 40]

# extendを使って複数の要素を追加
my_list.extend([50, 60])
print(my_list)  # 結果: [10, 20, 30, 40, 50, 60]

# insertを使って任意の場所に要素を挿入
my_list.insert(2, 25)  # インデックス2の位置に25を挿入
print(my_list)         # 結果: [10, 20, 25, 30, 40, 50, 60]

まとめ

Pythonのリストは多くのデータを1つの変数にまとめて格納できる、非常に柔軟で便利なデータ型です。

appendextendinsert といったメソッドを使うことで、リストの要素を簡単に追加・挿入することができます。

これらのメソッドを活用して、効率的にリストを操作できるようにしましょう。

練習問題:リストの要素追加や挿入操作を練習しよう

【Python】勉強猫がノートパソコンに向かい、練習問題に挑戦する様子。記事内の休憩用イラスト

指定されたリストに対して appendextendinsert メソッドを使って、要素を追加・挿入してください。

問題の詳細条件

以下の要件に従ってコードを完成させてください。

  • 初期リスト my_list を [1, 2, 4] として定義すること。
  • append メソッドを使い、リストの末尾に5を追加すること。
  • extend メソッドを使い、リストの末尾に6と7を追加すること。
  • insert メソッドを使い、リストの2と4の間に3を挿入すること。
  • リストの各操作の結果を print 文で出力すること。

ただし、以下のような実行結果となるコードを書くこと。

append後のリスト: [1, 2, 4, 5]
extend後のリスト: [1, 2, 4, 5, 6, 7]
insert後のリスト: [1, 2, 3, 4, 5, 6, 7]

問題の答え合わせと解説

この問題の一つの正解例とそのコードの解説を以下に示します。

一つの正解例

例えば以下のようなプログラムが考えられます。

Q
正解コード
# リストの定義
my_list = [1, 2, 4]  # 初期のリスト

# appendメソッドを使ってリストに要素を追加する
my_list.append(5)  # リストの末尾に5を追加
print(f"append後のリスト: {my_list}")  # 結果: append後のリスト: [1, 2, 4, 5]

# extendメソッドを使って複数の要素をリストに追加する
my_list.extend([6, 7])  # リストに別のリスト[6, 7]を追加
print(f"extend後のリスト: {my_list}")  # 結果: extend後のリスト: [1, 2, 4, 5, 6, 7]

# insertメソッドを使って指定の位置に要素を挿入する
my_list.insert(2, 3)  # インデックス2の位置に3を挿入
print(f"insert後のリスト: {my_list}")  # 結果: insert後のリスト: [1, 2, 3, 4, 5, 6, 7]

正解例の詳細解説

非常にシンプルなコードの為、解説はありません。

難しいと感じる方は、ページ上部のテキストを確認しましょう。

もっと分かりやすい学習サイトにするために

この記事を読んで「ここが分かりにくかった」「ここが難しかった」等の意見を募集しています。

世界一わかりやすいPython学習サイトにするため、ぜひ 問い合わせフォーム からご意見下さい。

<<前のページ

【Python学習記事のアイキャッチ画像】Lesson3-☆2 石取りゲームを作ろう

Pythonの記事一覧

Python学習カテゴリの親ページ用アイキャッチ画像(テキスト&問題集)、記事一覧へのリンク案内

次のページ>>

【Python学習記事のアイキャッチ画像】Lesson4-2 リストの要素削除を理解しよう

Python用語集|リスト編

今回の記事で出てきた用語・関数などを一覧で紹介します。

このサイトに出てくる 全てのPython用語をまとめた用語集 も活用してください。

Python用語定義・使い方の概要解説記事へのリンク
リスト複数の値を順序付きで格納できる可変のデータ構造。角括弧 [] で表現される本記事
インデックスシーケンス型(例:リスト)の要素にアクセスするための番号。0から始まる本記事
append() メソッドリストの末尾に要素を追加するメソッド本記事
extend() メソッド他のリストやイテラブルの要素を、呼び出し元のリストに追加するメソッド本記事
insert() メソッド指定した位置に要素を挿入するメソッド本記事
メソッド特定のデータ型のオブジェクトに結び付いた関数で、ドット記法で呼び出されるLesson5-2

FAQ|Pythonリストの定義と要素追加

Q
Q1. Pythonのリストと配列はどう違うのですか?

リストは異なるデータ型を混在させられる柔軟な構造ですが、配列(array)は基本的に同一のデータ型で構成されるため、数値処理などに向いています。PythonではNumPyで本格的な配列操作が可能です。

Q
Q2. リストのappendとextendの違いは何ですか?

append()はリストの末尾に「1つの要素」を追加し、extend()は複数の要素をリストに結合します。使い方を間違えるとネストされたリストになってしまうため注意が必要です。

Q
Q3. Pythonのリストは何個まで要素を追加できますか?

Pythonのリストには実質的な要素数の上限はなく、メモリが許す限り追加可能です。一般的な用途では制限を気にする必要はありません。

記事URLをコピーしました