Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonのリストメソッド一覧!使い方を実行例つきで徹底解説

Pythonのリストメソッドとは

Pythonには、リスト操作を手軽に行うための組み込みメソッドが多数用意されています。要素の追加・削除・コピー・検索・並べ替えなど、日常的に使う処理はすべてこれらのメソッドだけで実現できます。

ここからは、リストで利用できる主な組み込みメソッドを、サンプルコードと実行結果つきでひとつずつ解説していきます。

append(x):要素を末尾に追加する

指定した要素をリストの末尾に追加します。

サンプルコード

# append()
lst = ['Hello', 'Python']
print(lst)
lst.append('Tutorialspoint')
print(lst)

実行結果

['Hello', 'Python']
['Hello', 'Python', 'Tutorialspoint']

clear():すべての要素を削除する

リストからすべての要素を取り除き、空のリストにします。

# clear()
lst = ['Hello', 'Python', 'Tutorialspoint']
print(lst)
lst.clear()
print(lst)

実行結果

['Hello', 'Python', 'Tutorialspoint']
[]

copy():リストの浅いコピーを作成する

リストの浅いコピー(shallow copy)を返します。単純な代入(=)では同じオブジェクトを共有するため、片方への変更がもう片方にも反映されます。copy()を使えば、互いに独立したコピーが作れます。

# copy() を使わない場合
lst = ['Hello', 'Python', 'Tutorialspoint']
lst1 = lst
lst1.append('Java')
print(lst)
print(lst1)

# copy() を使った場合
lst = ['Hello', 'Python', 'Tutorialspoint']
lst1 = lst.copy()
lst1.append('Java')
print(lst)
print(lst1)

実行結果

['Hello', 'Python', 'Tutorialspoint', 'Java']
['Hello', 'Python', 'Tutorialspoint', 'Java']
['Hello', 'Python', 'Tutorialspoint']
['Hello', 'Python', 'Tutorialspoint', 'Java']

count(x):指定した値の個数を数える

指定した値と一致する要素の数を返します。

lst = ['Hello', 'Python', 'Tutorialspoint', 'Python']
print(lst.count('Python'))
print(lst.count('Tutorialspoint'))
print(lst.count('Java'))

実行結果

2
1
0

extend(iterable):イテラブルの要素をまとめて追加する

別のリスト(または任意のイテラブル)の要素を、現在のリストの末尾に展開して追加します。append()が「リスト自体を1つの要素」として追加するのに対し、extend()は中身の要素だけを追加する点が異なります。

# extend()
lst = ['Hello', 'Python']
print(lst)
lst.extend(['Java', 'CSharp'])
print(lst)

実行結果

['Hello', 'Python']
['Hello', 'Python', 'Java', 'CSharp']

index(x[, start[, end]]):要素の位置を取得する

指定した値を持つ最初の要素のインデックスを返します。startとendを指定すれば、検索範囲を絞り込むこともできます。

# index()
lst = ['Hello', 'Python', 'Tutorialspoint', 'Python']
print(lst.index('Python'))      # 先頭から検索
print(lst.index('Python', 2))   # インデックス2以降から検索

実行結果

1
3

insert(i, x):指定位置に要素を挿入する

インデックスiで指定した位置に要素xを挿入します。

lst = ['Hello', 'Python', 'Tutorialspoint', 'Python']
print(lst)
lst.insert(0, 'CPlusPlus')   # 先頭に挿入
print(lst)
lst.insert(3, 'Java')         # インデックス3の位置に挿入
print(lst)

実行結果

['Hello', 'Python', 'Tutorialspoint', 'Python']
['CPlusPlus', 'Hello', 'Python', 'Tutorialspoint', 'Python']
['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']

pop([i]):指定位置の要素を取り除いて返す

指定した位置の要素を削除し、その要素を戻り値として返します。引数を省略した場合は、リストの末尾の要素が削除されます。

# pop()
lst = ['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
print(lst)
lst.pop()     # 引数なし → 末尾の要素を削除
print(lst)
lst.pop(3)    # インデックス3の要素を削除
print(lst)

実行結果

['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint']
['CPlusPlus', 'Hello', 'Python', 'Tutorialspoint']

remove(x):指定した値の要素を削除する

指定した値と一致する最初の要素を削除します。該当する要素が複数あっても、先頭の1件のみ削除される点に注意してください。

# remove()
lst = ['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
print(lst)
lst.remove('Python')
print(lst)

実行結果

['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
['CPlusPlus', 'Hello', 'Java', 'Tutorialspoint', 'Python']

reverse():要素の順序を反転させる

リスト内の要素の並び順を逆にします。

# reverse()
lst = ['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
print(lst)
lst.reverse()
print(lst)

実行結果

['CPlusPlus', 'Hello', 'Python', 'Java', 'Tutorialspoint', 'Python']
['Python', 'Tutorialspoint', 'Java', 'Python', 'Hello', 'CPlusPlus']

sort(key=None, reverse=False):リストを並べ替える

リストを昇順にソートします。reverse=Trueを指定すると降順になり、key引数に関数を渡せば独自の基準での並べ替えも可能です。

# sort()
lst = [2, 3, 7, 1, 13, 8, 49]
print(lst)
lst.sort()             # 昇順(デフォルト)
print(lst)
lst.sort(reverse=True)  # 降順
print(lst)

実行結果

[2, 3, 7, 1, 13, 8, 49]
[1, 2, 3, 7, 8, 13, 49]
[49, 13, 8, 7, 3, 2, 1]

まとめ:リストメソッド早見表

メソッド主な機能
append(x)要素を末尾に追加
clear()すべての要素を削除
copy()浅いコピーを作成
count(x)一致する要素の個数を取得
extend(iterable)イテラブルの要素を末尾にまとめて追加
index(x)一致する最初の要素のインデックスを取得
insert(i, x)指定位置に要素を挿入
pop([i])指定位置の要素を削除して返す
remove(x)一致する最初の要素を削除
reverse()要素の順序を反転
sort()リストを昇順・降順にソート

これらのメソッドを使いこなせるようになると、Pythonでのリスト操作が格段に効率化されます。追加系・削除系・並べ替え系など、目的に応じて適切なメソッドを選んで活用してみてください。

  1. Pythonの辞書メソッド一覧|使い方と機能をわかりやすく解説

    はじめに Pythonの辞書(dict)は、キーと値のペアでデータを管理できる非常に便利なデータ構造です。この記事では、辞書で直接使える辞書メソッドと、辞書の操作に役立つ組み込み関数を一覧表にまとめて紹介します。それぞれの機能を把握しておくと、日常的なコーディングの効率が大きく向上します。 辞書の主なメソッド一覧 以下は、Pythonの辞書オブジェクトで利用できる代表的なメソッドです。 No.メソッド名と説明 1dict.clear()辞書内のすべての要素(キーと値のペア)を削除します。 2dict.copy()辞書のコピー(浅いコピー)を作成して返します。 3dict.fromkeys(

  2. Pythonでネストしたリスト(浅いリスト)をフラット化する方法

    Pythonでは、リストの中にリストが入った「入れ子(ネスト)構造」のデータを、1次元のフラットなリストに変換したい場面がよくあります。この記事では、浅い階層のリストをフラット化する代表的な方法を、具体的なコード例とともに紹介します。 方法1:ネストしたforループを使う 最もシンプルで直感的なのは、2重のforループを使ってサブリストから要素を1つずつ取り出し、空のリストへ順番に追加していく方法です。処理の流れが分かりやすいため、Python初心者にもおすすめのアプローチです。 lst = [[10, 20, 30, 40], [50, 60, 70, 80], [90, 100, 110