Pythonリスト入門:作成から操作、削除まで徹底解説
このチュートリアルでは、Pythonのリスト(List)について学びます。リストの作成方法、要素へのアクセス、要素の追加・削除、リスト自体の削除など、基本的な操作を一つずつ丁寧に解説していきます。
Pythonでは、リストは角括弧 [] を使って構築し、各要素はカンマ , で区切って記述します。
Pythonのリストは、異なる型のオブジェクトを混在させて格納できるのが特徴です。すべて文字列である必要も、整数である必要もありません。例えば、以下のように複数の型が混ざったリストを作成できます。
mixedTypesList = ['a', True, 1, 1.0]
リストの作成方法
リストは、角括弧の中に要素をカンマ区切りで並べるだけで簡単に作成できます。
colorsList = ["red", "green", "blue"]
print(colorsList)
実行結果:
['red', 'green', 'blue']
リストの要素へのアクセス方法
リストの要素にはインデックス(添字)を使ってアクセスします。重要なポイントとして、リストの最初の要素はインデックス 0 に位置します。
colorsList = ["red", "green", "blue"]
print(colorsList[2])
実行結果:
blue
範囲を指定してアクセスする(スライシング)
開始インデックスと終了インデックスを指定することで、リストから特定の範囲の要素を取り出せます。このときには : 演算子を使用します。
注意: 以下の例では、出力されるのはインデックス1(含まれる)からインデックス4(含まれない)までの要素です。終了インデックスの要素は結果に含まれない点に留意してください。
colorsList = ["red", "green", "blue", "orange", "yellow", "white"]
print(colorsList[1:4])
実行結果:
['green', 'blue', 'orange']
負のインデックス
負の値をインデックスに指定すると、リストの末尾から要素にアクセスできます。例えば -1 は最後の要素、-2 は後ろから2番目の要素を意味します。
colorsList = ["red", "green", "blue", "orange"]
print(colorsList[-1])
実行結果:
orange
要素の値を変更する方法
インデックスを指定して代入することで、既存の要素の値を上書きできます。
colorsList = ["red", "green", "blue", "orange"]
colorsList[3] = "yellow"
print(colorsList)
実行結果:
['red', 'green', 'blue', 'yellow']
リストをループ処理する方法
for ループを使えば、リスト内の全要素を順番に処理できます。
colorsList = ["red", "green", "blue", "orange"]
for i in colorsList:
print(i)
実行結果:
red
green
blue
orange
リストに要素を追加する方法
Pythonでリストに要素を追加するには、主に append() と insert() の2つのメソッドがあります。
append() メソッドは、要素をリストの末尾に追加します。
colorsList = ["red", "green", "blue", "orange"]
colorsList.append("yellow")
print(colorsList)
実行結果:
['red', 'green', 'blue', 'orange', 'yellow']
insert() メソッドは、指定したインデックスの位置に要素を挿入します。
colorsList = ["red", "green", "blue", "orange"]
colorsList.insert(2, "yellow")
print(colorsList)
実行結果:
['red', 'green', 'yellow', 'blue', 'orange']
リストから要素を削除する方法
リストから要素を削除するには、いくつかの方法があります。用途に応じて使い分けましょう。
remove() は、指定した値の要素を削除します。
colorsList = ["red", "green", "blue", "orange"]
colorsList.remove("orange")
print(colorsList)
実行結果:
['red', 'green', 'blue']
pop() は、指定したインデックスの要素を削除します。インデックスを省略した場合は、末尾の要素が削除されます。
colorsList = ["red", "green", "blue", "orange"]
colorsList.pop(1)
print(colorsList)
実行結果:
['red', 'blue', 'orange']
colorsList = ["red", "green", "blue", "orange"]
colorsList.pop()
print(colorsList)
実行結果:
['red', 'green', 'blue']
del ステートメントは、指定したインデックスの要素を削除できます。また、リスト全体を削除することも可能です。
colorsList = ["red", "green", "blue", "orange"]
del colorsList[1]
print(colorsList)
実行結果:
['red', 'blue', 'orange']
colorsList = ["red", "green", "blue", "orange"]
del colorsList
print(colorsList)
実行結果:
Traceback (most recent call last):
File "pythonList.py", line 30, in <module>
print(colorsList)
NameError: name 'colorsList' is not defined
リスト全体を del で削除すると、変数そのものが存在しなくなるため、その後にアクセスすると NameError が発生します。
clear() メソッドは、リストの中身を空にします。リスト自体は残ります。
colorsList = ["red", "green", "blue", "orange"]
colorsList.clear()
print(colorsList)
実行結果:
[]
リストの長さを取得する方法
len() 関数を呼び出すことで、リストに含まれる要素の数を取得できます。
colorsList = ["red", "green", "blue", "orange"]
print(len(colorsList))
実行結果:
4
特定の要素の出現回数をカウントする
count() メソッドを使うと、リスト内に特定の要素が何回出現するかを調べられます。
colorsList = ["red", "green", "red", "orange"]
print(colorsList.count("red"))
実行結果:
2
リストの要素をソートする方法
sort() メソッドを使うと、リストの要素をアルファベット順(昇順)に並べ替えられます。
colorsList = ["red", "green", "blue", "orange"]
colorsList.sort()
print(colorsList)
実行結果:
['blue', 'green', 'orange', 'red']
降順でソートする
reverse=True を引数に指定すると、逆順(降順)でソートされます。
colorsList = ["red", "green", "blue", "orange"]
colorsList.sort(reverse=True)
print(colorsList)
実行結果:
['red', 'orange', 'green', 'blue']
リストの要素を逆順にする方法
reverse() メソッドを使うと、リストの要素の並びをそのまま反転できます。
colorsList = ["red", "green", "blue", "orange"]
colorsList.reverse()
print(colorsList)
実行結果:
['orange', 'blue', 'green', 'red']
リストを別のリストにコピーする方法
copy() メソッドを使うと、リストの内容を別の新しいリストにコピーできます。
colorsList = ["red", "green", "blue", "orange"]
newList = colorsList.copy()
print(newList)
実行結果:
['red', 'green', 'blue', 'orange']
2つのリストを結合する方法
2つのリストを結合する最も簡単な方法は、+ 演算子を使用することです。
colorsList = ["red", "green", "blue", "orange"]
numbersList = [1, 2, 3, 4]
numbersAndColors = colorsList + numbersList
print(numbersAndColors)
実行結果:
['red', 'green', 'blue', 'orange', 1, 2, 3, 4]
まとめ
Pythonのリストは、複数のデータ型を柔軟に扱える非常に強力なデータ構造です。本記事で紹介したように、append() や insert() による要素の追加、remove() や pop()、del による削除、sort() や reverse() による並べ替えなど、豊富なメソッドが用意されています。これらの基本操作をマスターすれば、日常的なデータ処理を効率的に行えるようになります。
-
Pythonでリストのリスト(ネストされたリスト)をフラット化する3つの方法
Pythonでは、ネストされたリスト(リストの中にリストが入った構造)を1次元のフラットなリストへ変換する(フラット化する)方法がいくつかあります。本記事では、代表的な3つの手法をコード例とともに解説します。 方法1:入れ子のforループを使う 最もシンプルで直感的なのが、二重のループを使う方法です。外側のループで親リストからサブリストを1つずつ取り出し、内側のループでそのサブリストから要素を1つずつ取得します。そして、各要素をあらかじめ用意した空のリスト(flat)に追加していきます。 L1=[[1,2],[3,4,5],[6,7,8,9]] flat=[] for i in L1:
-
Pythonでリストを定義する方法とは?基本の書き方を初心者向けに解説
リスト(List)は、Pythonにおける基本的なシーケンス型データ構造の一つです。複数の要素を角括弧 [ ] で囲み、カンマで区切って表現します。各要素は文字列や数値など異なるデータ型が混在していても問題ありません。また、リストは順序付き(ordered)コレクションであるため、格納した要素の並び順は保持されます。個々の要素には、0から始まるインデックスを使ってアクセスできます。たとえば最初の要素はインデックス 0、2番目の要素は 1 で参照します。リストの定義例list1 = [physics, chemistry, 1997, 2000] list2 = [1, 2, 3, 4, 5]