
独習Python [ 山田 祥寛 ]
こんにちは、monachan_papa です。
今回は Pythonのリスト操作に便利なメソッドをいくつかピックアップして紹介します。これらのメソッドを使いこなすことにより、プログラミングの省力化・プログラムの簡潔明瞭化が大きく期待できます。
なお、本解説は各メソッド実行にあたり、以下の2点に着眼して読んでいただくことを推奨します。
- 戻り値があるか無いか
- もとのリストの中身が変わってしまっているかどうか(破壊的メソッドかどうか)
append(要素の追加)
appendメソッドは、リストの末尾に要素を追加します。
以下のコードは、要素を3つ追加しています。
datas = []
datas.append(0)
datas.append(1)
datas.append(2)
戻り値はありません。結果を確認します。
datas
[0, 1, 2]
extend(リストの結合)
extendメソッドは、リスト同士を結合します。
以下のコードは、リスト変数Aの後ろにリスト変数Bを結合しています。
A = [0, 1, 2]
B = [3, 4, 5]
A.extend(B)
戻り値はありません。結果を確認します。
A
[0, 1, 2, 3, 4, 5]
insert(要素の挿入)
insertメソッドは、リストの指定位置に要素を挿入します。
第1引数に要素を挿入するインデックス、第2引数に挿入する要素を指定します。
以下のコードは、インデックス2の位置に要素を追加しています。
datas = ['A', 'B', 'D', 'E']
datas.insert(2, 'C')
戻り値はありません。結果を確認します。
datas
['A', 'B', 'C', 'D', 'E']

独習Python [ 山田 祥寛 ]
remove(要素の削除)
removeメソッドは、指定した値と一致する要素を削除します。
ただし、同じ要素が複数あった場合、最初に一致したものが削除されます。
以下のコードは、★印を削除しています。
datas = ['p', '★', 'y', 't', 'h', 'o', 'n', '★']
datas.remove('★')
戻り値はありません。結果を確認します。
datas
['p', 'y', 't', 'h', 'o', 'n', '★']
pop(要素の削除と取得)
popメソッドは、指定位置の要素をリストから削除して取得します。
引数には、削除したい要素のインデックスを指定します。
ただし、インデックス指定なし(引数なし)の場合、リスト末尾の要素指定とみなされます。
以下のコードは、インデックス1の要素を削除して取得しています。
datas = ['p', '★', 'y', 't', 'h', 'o', 'n', '★']
datas.pop(1)
'★'
★印が取得できました。★印が削除されているかどうか、結果の確認をします。
datas
['p', 'y', 't', 'h', 'o', 'n', '★']
index(要素のインデックス取得)
indexメソッドは、指定した値の要素インデックスを取得します。
ただし、同じ要素があった場合、最初に一致したものが取得されます。
datas = ['P', 'P', 'A', 'P']
datas.index('P')
0
count(指定要素のカウント)
countメソッドは、指定した値と一致する要素のカウント結果を取得します。
以下のコードは、P のカウント結果を取得しています。
datas = ['P', 'P', 'A', 'P']
datas.count('P')
3
sort(リストのソート)
sortメソッドは、リストの要素をソートします。
引数なしで実行すると、昇順ソートします。(規定値)
reverse=True を指定すると、降順ソートになります。
以下のコードは、リスト変数datas を昇順ソートしています。
datas = [2, 0, 7, 1, 9, 5]
datas.sort()
戻り値はありません。結果確認をします。
datas
[0, 1, 2, 5, 7, 9]
sortメソッドは、もとのリストの中身が変わってしまう「破壊的メソッド」でとても有名なメソッドです。
もとのリストの中身を書き換えずにソートするには、組み込み関数である sorted関数というものがあります。sorted関数については、過去に以下の記事で解説しています。
無名関数のlambda式(ラムダ式)の使いどころをマスターしよう!【Python tips】
以上で、リストのメソッドについての解説を終わります。いかがでしたか?
リストのメソッドを使いこなすこと、あるいは極めることは Pythonプログラミングをマスターするための必須条件とも言えます。是非、自在に使いこなせるようになりましょう。
そして、使いこなすにはやはり書くことが大事です。貪欲に書いて、本当に理解したか確かめることが必要です。そのための必携本として、独習Python [ 山田 祥寛 ]をおすすめします。
「わかりやすい解説、理解を深める例題、アウトプットして理解度チェックをするための練習問題」の3本セットを備えた本書で是非、Pythonプログラミングマスターになってください。

独習Python [ 山田 祥寛 ]
また、爆速で リストだけでなくPython を学びたい御方にはプログラミングスクールを考えるのも、ひとつの手です。独学よりも効果が出やすいですが、いかんせん投資がけっこうかかります。しかし、techgymというスクールは通うか通わないかは別として、無料のサンプルテキスト&解説動画がもらえます。これをとりあえず getしてまずは試しに体験学習するのもありでしょう。

コメント