リストのメソッド一覧
目次
1. このレッスンで学ぶこと
- リストの便利なメソッド
- sort(), reverse()の使い方
- count(), index()の使い方
- copy()メソッドとその重要性
2. リストのメソッドとは
メソッドは、リストに関連した処理を実行する関数です。リスト固有の操作を効率的に行うための便利な道具で、データの並び替えや検索、カウント、コピーなどができます。
| メソッド | 説明 | 破壊的 | 戻り値 |
|---|---|---|---|
sort() | ソート(昇順/降順) | はい | None |
reverse() | 逆順に並び替え | はい | None |
count(値) | 値の出現回数 | いいえ | 個数 |
index(値) | 最初の位置を取得 | いいえ | インデックス |
copy() | リストをコピー | いいえ | 新しいリスト |
主な特徴:
- リストの並び替え、検索、カウント、コピーなど多彩な操作が可能
- 破壊的メソッド(sort, reverse)は元のリストを変更する
- 非破壊的メソッド(count, index, copy)は元のリストを保持する
- sorted()関数との違いに注意(メソッドと組み込み関数)
簡単なコード例:
Pythonnumbers = [3, 1, 4, 1, 5, 9, 2] # ソート numbers_sorted = sorted(numbers) print(f"ソート: {numbers_sorted}") # カウント count_1 = numbers.count(1) print(f"1の個数: {count_1}") # 位置取得 position = numbers.index(4) print(f"4の位置: {position}") # コピー copy_list = numbers.copy() print(f"コピー: {copy_list}")
実行結果:
ソート: [1, 1, 2, 3, 4, 5, 9]
1の個数: 2
4の位置: 2
コピー: [3, 1, 4, 1, 5, 9, 2]
3. なぜメソッドを知る必要があるのか?
リストには様々な便利なメソッドが用意されています。これらを知ることで、効率的にデータを操作できます。
Pythonnumbers = [3, 1, 4, 1, 5, 9, 2, 6] # ソート(並び替え) numbers.sort() print(f"ソート後: {numbers}") # 逆順 numbers.reverse() print(f"逆順: {numbers}") # 特定値の個数 count = numbers.count(1) print(f"1の個数: {count}")
実行結果:
ソート後: [1, 1, 2, 3, 4, 5, 6, 9]
逆順: [9, 6, 5, 4, 3, 2, 1, 1]
1の個数: 2
💡 豆知識: Pythonのリストメソッドは、他の言語と比べて非常に豊富で使いやすいです。これらのメソッドを使いこなすことで、少ないコードで多くのことができます。
4. ソート関連
sort() - リストをソート
機能: リスト自体を昇順または降順にソートします。
書き方:
Pythonリスト.sort() # 昇順 リスト.sort(reverse=True) # 降順
用途: データの並び替え、ランキング作成、検索の効率化
注意点:
- 元のリストが変更される(破壊的操作)
- 戻り値はNone
- 異なる型が混在するとエラー
Python# 数値のソート numbers = [3, 1, 4, 1, 5, 9, 2, 6] print(f"元のリスト: {numbers}") numbers.sort() print(f"昇順: {numbers}") numbers.sort(reverse=True) print(f"降順: {numbers}") # 文字列のソート fruits = ["オレンジ", "りんご", "バナナ", "ぶどう"] fruits.sort() print(f"文字列ソート: {fruits}")
実行結果:
元のリスト: [3, 1, 4, 1, 5, 9, 2, 6]
昇順: [1, 1, 2, 3, 4, 5, 6, 9]
降順: [9, 6, 5, 4, 3, 2, 1, 1]
文字列ソート: ['おれんじ', 'ばなな', 'ぶどう', 'りんご']
sorted() - 新しいリストを返す
機能: ソートされた新しいリストを返します(元のリストは変更しない)。
書き方:
Python新しいリスト = sorted(リスト) 新しいリスト = sorted(リスト, reverse=True)
用途: 元のリストを保持したままソート、一時的なソート
注意点:
- 元のリストは変更されない
- 新しいリストが返される
- sort()メソッドではなく組み込み関数
Pythonoriginal = [3, 1, 4, 1, 5, 9, 2, 6] sorted_list = sorted(original) print(f"元のリスト: {original}") print(f"ソート済み: {sorted_list}")
実行結果:
元のリスト: [3, 1, 4, 1, 5, 9, 2, 6]
ソート済み: [1, 1, 2, 3, 4, 5, 6, 9]
reverse() - リストを逆順にする
機能: リストの要素を逆順に並び替えます。
書き方:
Pythonリスト.reverse()
用途: 順序の反転、最新順への変更
注意点:
- 元のリストが変更される
- ソートではなく単純な反転
- 戻り値はNone
Pythonnumbers = [1, 2, 3, 4, 5] print(f"元のリスト: {numbers}") numbers.reverse() print(f"逆順: {numbers}") # スライスとの違い numbers2 = [1, 2, 3, 4, 5] reversed_slice = numbers2[::-1] print(f"元のリスト: {numbers2}") print(f"スライス: {reversed_slice}")
実行結果:
元のリスト: [1, 2, 3, 4, 5]
逆順: [5, 4, 3, 2, 1]
元のリスト: [1, 2, 3, 4, 5]
スライス: [5, 4, 3, 2, 1]
5. 検索関連
count() - 要素の出現回数
機能: 指定した値がリスト内に何回出現するか数えます。
書き方:
Python回数 = リスト.count(値)
用途: 出現回数のカウント、重複チェック、頻度分析
注意点:
- 存在しない値は0を返す
- エラーにはならない
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5, 2] count_2 = numbers.count(2) count_3 = numbers.count(3) count_9 = numbers.count(9) print(f"2の個数: {count_2}") print(f"3の個数: {count_3}") print(f"9の個数: {count_9}")
実行結果:
2の個数: 4
3の個数: 1
9の個数: 0
index() - 要素の位置を取得
機能: 指定した値が最初に出現するインデックスを返します。
書き方:
Pythonインデックス = リスト.index(値) インデックス = リスト.index(値, 開始, 終了)
用途: 要素の位置検索、データの探索
注意点:
- 値が存在しないとValueError
- 最初の1つだけ返す
- 開始・終了位置を指定可能
Pythonfruits = ["りんご", "バナナ", "オレンジ", "バナナ", "ぶどう"] # バナナの位置 index = fruits.index("バナナ") print(f"バナナの位置: {index}") # 2番目のバナナの位置(開始位置を指定) index2 = fruits.index("バナナ", 2) print(f"2番目のバナナ: {index2}") # 存在しない値 try: fruits.index("メロン") except ValueError: print("メロンは見つかりません")
実行結果:
バナナの位置: 1
2番目のバナナ: 3
メロンは見つかりません
6. コピー関連
copy() - リストのコピー
機能: リストのシャローコピー(浅いコピー)を作成します。
書き方:
Python新しいリスト = リスト.copy()
用途: リストの複製、元データの保持
注意点:
- シャローコピー(1階層のみコピー)
- ネストしたリストは参照がコピーされる
Python# 通常のコピー original = [1, 2, 3, 4, 5] copied = original.copy() print(f"元のリスト: {original}") print(f"コピー: {copied}") # コピーを変更しても元は変わらない copied[0] = 100 print(f"変更後の元: {original}") print(f"変更後のコピー: {copied}")
実行結果:
元のリスト: [1, 2, 3, 4, 5]
コピー: [1, 2, 3, 4, 5]
変更後の元: [1, 2, 3, 4, 5]
変更後のコピー: [100, 2, 3, 4, 5]
参照とコピーの違い
Python# 参照(同じオブジェクト) list1 = [1, 2, 3] list2 = list1 # 参照 list2[0] = 100 print(f"list1: {list1}") # 変更される print(f"list2: {list2}") # コピー(別のオブジェクト) list3 = [1, 2, 3] list4 = list3.copy() # コピー list4[0] = 100 print(f"list3: {list3}") # 変更されない print(f"list4: {list4}")
実行結果:
list1: [100, 2, 3]
list2: [100, 2, 3]
list3: [1, 2, 3]
list4: [100, 2, 3]
7. 具体例
例1: 成績の並び替え
Pythonscores = [85, 92, 78, 95, 88, 76, 90] print("=== 成績一覧 ===") print(f"元の順: {scores}") # 昇順 sorted_asc = sorted(scores) print(f"昇順: {sorted_asc}") # 降順 sorted_desc = sorted(scores, reverse=True) print(f"降順: {sorted_desc}") # トップ3 top3 = sorted_desc[:3] print(f"トップ3: {top3}")
実行結果:
=== 成績一覧 ===
元の順: [85, 92, 78, 95, 88, 76, 90]
昇順: [76, 78, 85, 88, 90, 92, 95]
降順: [95, 92, 90, 88, 85, 78, 76]
トップ3: [95, 92, 90]
例2: 投票結果の集計
Pythonvotes = ["A", "B", "A", "C", "B", "A", "B", "A", "C", "A"] print("=== 投票結果 ===") print(f"総投票数: {len(votes)}") # 各候補の得票数 count_a = votes.count("A") count_b = votes.count("B") count_c = votes.count("C") print(f"候補A: {count_a}票") print(f"候補B: {count_b}票") print(f"候補C: {count_c}票") # 当選者 if count_a > count_b and count_a > count_c: print("当選: 候補A") elif count_b > count_a and count_b > count_c: print("当選: 候補B") else: print("当選: 候補C")
実行結果:
=== 投票結果 ===
総投票数: 10
候補A: 5票
候補B: 3票
候補C: 2票
当選: 候補A
例3: データの検索
Pythonstudents = ["田中", "佐藤", "鈴木", "高橋", "伊藤"] target = "鈴木" if target in students: position = students.index(target) print(f"{target}さんは{position + 1}番目にいます") else: print(f"{target}さんは見つかりません")
実行結果:
鈴木さんは3番目にいます
8. メソッド一覧まとめ
変更するメソッド(破壊的)
Pythonnumbers = [3, 1, 4, 1, 5] # append(x): 末尾に追加 numbers.append(9) print(f"append: {numbers}") # insert(i, x): i番目に挿入 numbers.insert(0, 2) print(f"insert: {numbers}") # remove(x): 最初のxを削除 numbers.remove(1) print(f"remove: {numbers}") # pop(i): i番目を削除して返す value = numbers.pop() print(f"pop: {numbers}, 値: {value}") # clear(): 全削除 numbers_copy = numbers.copy() numbers_copy.clear() print(f"clear: {numbers_copy}") # sort(): ソート numbers.sort() print(f"sort: {numbers}") # reverse(): 逆順 numbers.reverse() print(f"reverse: {numbers}")
実行結果:
append: [3, 1, 4, 1, 5, 9]
insert: [2, 3, 1, 4, 1, 5, 9]
remove: [2, 3, 4, 1, 5, 9]
pop: [2, 3, 4, 1, 5], 値: 9
clear: []
sort: [1, 2, 3, 4, 5]
reverse: [5, 4, 3, 2, 1]
変更しないメソッド
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5] # count(x): xの個数 count = numbers.count(2) print(f"count(2): {count}") # index(x): xの位置 index = numbers.index(3) print(f"index(3): {index}") # copy(): コピー copied = numbers.copy() print(f"copy: {copied}") print(f"元のリスト: {numbers}")
実行結果:
count(2): 3
index(3): 2
copy: [1, 2, 3, 2, 4, 2, 5]
元のリスト: [1, 2, 3, 2, 4, 2, 5]
9. 練習問題
問題1(基礎)⭐☆☆
リスト [3, 1, 4, 1, 5, 9] を昇順にソートしてください。
💡 ヒント
sort()メソッドを使います。
✅ 解答例
Pythonnumbers = [3, 1, 4, 1, 5, 9] numbers.sort() print(numbers)
実行結果:
[1, 1, 3, 4, 5, 9]
問題2(基礎)⭐☆☆
リスト [1, 2, 3, 2, 4, 2, 5] の中に2が何個あるか数えてください。
💡 ヒント
count()メソッドを使います。
✅ 解答例
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5] count = numbers.count(2) print(f"2の個数: {count}")
実行結果:
2の個数: 3
問題3(応用)⭐⭐☆
リスト [5, 2, 8, 1, 9] の最大値と最小値を求めてください。
💡 ヒント
sort()またはmax(), min()を使います。
✅ 解答例
Pythonnumbers = [5, 2, 8, 1, 9] # 方法1: sort()を使う sorted_numbers = sorted(numbers) print(f"最小値: {sorted_numbers[0]}") print(f"最大値: {sorted_numbers[-1]}") # 方法2: max(), min()を使う print(f"最小値: {min(numbers)}") print(f"最大値: {max(numbers)}")
実行結果:
最小値: 1
最大値: 9
最小値: 1
最大値: 9
10. まとめ
このレッスンでは、主要なリストメソッドの活用方法を学びました。
sort,reverse,count,index,copyなどの基本メソッドを使えます。- データ整形や検索をメソッドで簡潔に書けるようになりました。
- 破壊的操作と非破壊的操作の違いを理解して使い分けられます。
- メソッドの返り値とリスト本体の変化を確認することが重要です。
- 処理目的に合ったメソッド選択が、可読性と保守性を高めます。
リストのメソッド一覧
目次
1. このレッスンで学ぶこと
- リストの便利なメソッド
- sort(), reverse()の使い方
- count(), index()の使い方
- copy()メソッドとその重要性
2. リストのメソッドとは
メソッドは、リストに関連した処理を実行する関数です。リスト固有の操作を効率的に行うための便利な道具で、データの並び替えや検索、カウント、コピーなどができます。
| メソッド | 説明 | 破壊的 | 戻り値 |
|---|---|---|---|
sort() | ソート(昇順/降順) | はい | None |
reverse() | 逆順に並び替え | はい | None |
count(値) | 値の出現回数 | いいえ | 個数 |
index(値) | 最初の位置を取得 | いいえ | インデックス |
copy() | リストをコピー | いいえ | 新しいリスト |
主な特徴:
- リストの並び替え、検索、カウント、コピーなど多彩な操作が可能
- 破壊的メソッド(sort, reverse)は元のリストを変更する
- 非破壊的メソッド(count, index, copy)は元のリストを保持する
- sorted()関数との違いに注意(メソッドと組み込み関数)
簡単なコード例:
Pythonnumbers = [3, 1, 4, 1, 5, 9, 2] # ソート numbers_sorted = sorted(numbers) print(f"ソート: {numbers_sorted}") # カウント count_1 = numbers.count(1) print(f"1の個数: {count_1}") # 位置取得 position = numbers.index(4) print(f"4の位置: {position}") # コピー copy_list = numbers.copy() print(f"コピー: {copy_list}")
実行結果:
ソート: [1, 1, 2, 3, 4, 5, 9]
1の個数: 2
4の位置: 2
コピー: [3, 1, 4, 1, 5, 9, 2]
3. なぜメソッドを知る必要があるのか?
リストには様々な便利なメソッドが用意されています。これらを知ることで、効率的にデータを操作できます。
Pythonnumbers = [3, 1, 4, 1, 5, 9, 2, 6] # ソート(並び替え) numbers.sort() print(f"ソート後: {numbers}") # 逆順 numbers.reverse() print(f"逆順: {numbers}") # 特定値の個数 count = numbers.count(1) print(f"1の個数: {count}")
実行結果:
ソート後: [1, 1, 2, 3, 4, 5, 6, 9]
逆順: [9, 6, 5, 4, 3, 2, 1, 1]
1の個数: 2
💡 豆知識: Pythonのリストメソッドは、他の言語と比べて非常に豊富で使いやすいです。これらのメソッドを使いこなすことで、少ないコードで多くのことができます。
4. ソート関連
sort() - リストをソート
機能: リスト自体を昇順または降順にソートします。
書き方:
Pythonリスト.sort() # 昇順 リスト.sort(reverse=True) # 降順
用途: データの並び替え、ランキング作成、検索の効率化
注意点:
- 元のリストが変更される(破壊的操作)
- 戻り値はNone
- 異なる型が混在するとエラー
Python# 数値のソート numbers = [3, 1, 4, 1, 5, 9, 2, 6] print(f"元のリスト: {numbers}") numbers.sort() print(f"昇順: {numbers}") numbers.sort(reverse=True) print(f"降順: {numbers}") # 文字列のソート fruits = ["オレンジ", "りんご", "バナナ", "ぶどう"] fruits.sort() print(f"文字列ソート: {fruits}")
実行結果:
元のリスト: [3, 1, 4, 1, 5, 9, 2, 6]
昇順: [1, 1, 2, 3, 4, 5, 6, 9]
降順: [9, 6, 5, 4, 3, 2, 1, 1]
文字列ソート: ['おれんじ', 'ばなな', 'ぶどう', 'りんご']
sorted() - 新しいリストを返す
機能: ソートされた新しいリストを返します(元のリストは変更しない)。
書き方:
Python新しいリスト = sorted(リスト) 新しいリスト = sorted(リスト, reverse=True)
用途: 元のリストを保持したままソート、一時的なソート
注意点:
- 元のリストは変更されない
- 新しいリストが返される
- sort()メソッドではなく組み込み関数
Pythonoriginal = [3, 1, 4, 1, 5, 9, 2, 6] sorted_list = sorted(original) print(f"元のリスト: {original}") print(f"ソート済み: {sorted_list}")
実行結果:
元のリスト: [3, 1, 4, 1, 5, 9, 2, 6]
ソート済み: [1, 1, 2, 3, 4, 5, 6, 9]
reverse() - リストを逆順にする
機能: リストの要素を逆順に並び替えます。
書き方:
Pythonリスト.reverse()
用途: 順序の反転、最新順への変更
注意点:
- 元のリストが変更される
- ソートではなく単純な反転
- 戻り値はNone
Pythonnumbers = [1, 2, 3, 4, 5] print(f"元のリスト: {numbers}") numbers.reverse() print(f"逆順: {numbers}") # スライスとの違い numbers2 = [1, 2, 3, 4, 5] reversed_slice = numbers2[::-1] print(f"元のリスト: {numbers2}") print(f"スライス: {reversed_slice}")
実行結果:
元のリスト: [1, 2, 3, 4, 5]
逆順: [5, 4, 3, 2, 1]
元のリスト: [1, 2, 3, 4, 5]
スライス: [5, 4, 3, 2, 1]
5. 検索関連
count() - 要素の出現回数
機能: 指定した値がリスト内に何回出現するか数えます。
書き方:
Python回数 = リスト.count(値)
用途: 出現回数のカウント、重複チェック、頻度分析
注意点:
- 存在しない値は0を返す
- エラーにはならない
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5, 2] count_2 = numbers.count(2) count_3 = numbers.count(3) count_9 = numbers.count(9) print(f"2の個数: {count_2}") print(f"3の個数: {count_3}") print(f"9の個数: {count_9}")
実行結果:
2の個数: 4
3の個数: 1
9の個数: 0
index() - 要素の位置を取得
機能: 指定した値が最初に出現するインデックスを返します。
書き方:
Pythonインデックス = リスト.index(値) インデックス = リスト.index(値, 開始, 終了)
用途: 要素の位置検索、データの探索
注意点:
- 値が存在しないとValueError
- 最初の1つだけ返す
- 開始・終了位置を指定可能
Pythonfruits = ["りんご", "バナナ", "オレンジ", "バナナ", "ぶどう"] # バナナの位置 index = fruits.index("バナナ") print(f"バナナの位置: {index}") # 2番目のバナナの位置(開始位置を指定) index2 = fruits.index("バナナ", 2) print(f"2番目のバナナ: {index2}") # 存在しない値 try: fruits.index("メロン") except ValueError: print("メロンは見つかりません")
実行結果:
バナナの位置: 1
2番目のバナナ: 3
メロンは見つかりません
6. コピー関連
copy() - リストのコピー
機能: リストのシャローコピー(浅いコピー)を作成します。
書き方:
Python新しいリスト = リスト.copy()
用途: リストの複製、元データの保持
注意点:
- シャローコピー(1階層のみコピー)
- ネストしたリストは参照がコピーされる
Python# 通常のコピー original = [1, 2, 3, 4, 5] copied = original.copy() print(f"元のリスト: {original}") print(f"コピー: {copied}") # コピーを変更しても元は変わらない copied[0] = 100 print(f"変更後の元: {original}") print(f"変更後のコピー: {copied}")
実行結果:
元のリスト: [1, 2, 3, 4, 5]
コピー: [1, 2, 3, 4, 5]
変更後の元: [1, 2, 3, 4, 5]
変更後のコピー: [100, 2, 3, 4, 5]
参照とコピーの違い
Python# 参照(同じオブジェクト) list1 = [1, 2, 3] list2 = list1 # 参照 list2[0] = 100 print(f"list1: {list1}") # 変更される print(f"list2: {list2}") # コピー(別のオブジェクト) list3 = [1, 2, 3] list4 = list3.copy() # コピー list4[0] = 100 print(f"list3: {list3}") # 変更されない print(f"list4: {list4}")
実行結果:
list1: [100, 2, 3]
list2: [100, 2, 3]
list3: [1, 2, 3]
list4: [100, 2, 3]
7. 具体例
例1: 成績の並び替え
Pythonscores = [85, 92, 78, 95, 88, 76, 90] print("=== 成績一覧 ===") print(f"元の順: {scores}") # 昇順 sorted_asc = sorted(scores) print(f"昇順: {sorted_asc}") # 降順 sorted_desc = sorted(scores, reverse=True) print(f"降順: {sorted_desc}") # トップ3 top3 = sorted_desc[:3] print(f"トップ3: {top3}")
実行結果:
=== 成績一覧 ===
元の順: [85, 92, 78, 95, 88, 76, 90]
昇順: [76, 78, 85, 88, 90, 92, 95]
降順: [95, 92, 90, 88, 85, 78, 76]
トップ3: [95, 92, 90]
例2: 投票結果の集計
Pythonvotes = ["A", "B", "A", "C", "B", "A", "B", "A", "C", "A"] print("=== 投票結果 ===") print(f"総投票数: {len(votes)}") # 各候補の得票数 count_a = votes.count("A") count_b = votes.count("B") count_c = votes.count("C") print(f"候補A: {count_a}票") print(f"候補B: {count_b}票") print(f"候補C: {count_c}票") # 当選者 if count_a > count_b and count_a > count_c: print("当選: 候補A") elif count_b > count_a and count_b > count_c: print("当選: 候補B") else: print("当選: 候補C")
実行結果:
=== 投票結果 ===
総投票数: 10
候補A: 5票
候補B: 3票
候補C: 2票
当選: 候補A
例3: データの検索
Pythonstudents = ["田中", "佐藤", "鈴木", "高橋", "伊藤"] target = "鈴木" if target in students: position = students.index(target) print(f"{target}さんは{position + 1}番目にいます") else: print(f"{target}さんは見つかりません")
実行結果:
鈴木さんは3番目にいます
8. メソッド一覧まとめ
変更するメソッド(破壊的)
Pythonnumbers = [3, 1, 4, 1, 5] # append(x): 末尾に追加 numbers.append(9) print(f"append: {numbers}") # insert(i, x): i番目に挿入 numbers.insert(0, 2) print(f"insert: {numbers}") # remove(x): 最初のxを削除 numbers.remove(1) print(f"remove: {numbers}") # pop(i): i番目を削除して返す value = numbers.pop() print(f"pop: {numbers}, 値: {value}") # clear(): 全削除 numbers_copy = numbers.copy() numbers_copy.clear() print(f"clear: {numbers_copy}") # sort(): ソート numbers.sort() print(f"sort: {numbers}") # reverse(): 逆順 numbers.reverse() print(f"reverse: {numbers}")
実行結果:
append: [3, 1, 4, 1, 5, 9]
insert: [2, 3, 1, 4, 1, 5, 9]
remove: [2, 3, 4, 1, 5, 9]
pop: [2, 3, 4, 1, 5], 値: 9
clear: []
sort: [1, 2, 3, 4, 5]
reverse: [5, 4, 3, 2, 1]
変更しないメソッド
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5] # count(x): xの個数 count = numbers.count(2) print(f"count(2): {count}") # index(x): xの位置 index = numbers.index(3) print(f"index(3): {index}") # copy(): コピー copied = numbers.copy() print(f"copy: {copied}") print(f"元のリスト: {numbers}")
実行結果:
count(2): 3
index(3): 2
copy: [1, 2, 3, 2, 4, 2, 5]
元のリスト: [1, 2, 3, 2, 4, 2, 5]
9. 練習問題
問題1(基礎)⭐☆☆
リスト [3, 1, 4, 1, 5, 9] を昇順にソートしてください。
💡 ヒント
sort()メソッドを使います。
✅ 解答例
Pythonnumbers = [3, 1, 4, 1, 5, 9] numbers.sort() print(numbers)
実行結果:
[1, 1, 3, 4, 5, 9]
問題2(基礎)⭐☆☆
リスト [1, 2, 3, 2, 4, 2, 5] の中に2が何個あるか数えてください。
💡 ヒント
count()メソッドを使います。
✅ 解答例
Pythonnumbers = [1, 2, 3, 2, 4, 2, 5] count = numbers.count(2) print(f"2の個数: {count}")
実行結果:
2の個数: 3
問題3(応用)⭐⭐☆
リスト [5, 2, 8, 1, 9] の最大値と最小値を求めてください。
💡 ヒント
sort()またはmax(), min()を使います。
✅ 解答例
Pythonnumbers = [5, 2, 8, 1, 9] # 方法1: sort()を使う sorted_numbers = sorted(numbers) print(f"最小値: {sorted_numbers[0]}") print(f"最大値: {sorted_numbers[-1]}") # 方法2: max(), min()を使う print(f"最小値: {min(numbers)}") print(f"最大値: {max(numbers)}")
実行結果:
最小値: 1
最大値: 9
最小値: 1
最大値: 9
10. まとめ
このレッスンでは、主要なリストメソッドの活用方法を学びました。
sort,reverse,count,index,copyなどの基本メソッドを使えます。- データ整形や検索をメソッドで簡潔に書けるようになりました。
- 破壊的操作と非破壊的操作の違いを理解して使い分けられます。
- メソッドの返り値とリスト本体の変化を確認することが重要です。
- 処理目的に合ったメソッド選択が、可読性と保守性を高めます。