1. リストとは
Pythonにおけるリストは、複数の要素を格納するためのデータ構造です。リストは変更可能であり、異なる型の要素を含めることができ、インデックスを使用して要素にアクセスしたり修正したりすることができます。
リストは角括弧「[]」で定義され、各要素はカンマで区切られます。
リストの要素には整数、浮点数、文字列、ブール値、さらには他のリストなど、任意の型のオブジェクトが含まれます。
# リストの宣言
list_a = []
print(list_a)
list_b = [20, "こんにちは", False, None]
print(list_b)
2. リストの反復処理
リストの要素を順番に処理する方法について説明します。
2-1. インデックスに関心がない場合
インデックスに関心がなく、リストの各要素を直接処理したい場合は、「for」ループを使用します。
data_list = [20, "sample", False, None]
# インデックスに関心がない場合
for value in data_list:
print(value)
結果として、リスト内の各要素が順に出力されます。
2-2. インデックスに関心がある場合
インデックスに関心がある場合は、len()関数でリストの長さを得て、それに基づいてインデックスを使用して要素にアクセスします。
# インデックスに関心がある場合
for index in range(len(data_list)):
print(f"インデックス: {index}, 値: {data_list[index]}")
結果は以下のようになります:
インデックス: 0, 値: 20
インデックス: 1, 値: sample
インデックス: 2, 値: False
インデックス: 3, 値: None
3. リストの基本操作
3-1. 要素の追加
リストに要素を追加する方法をいくつか紹介します。
| 操作 | 説明 |
|---|---|
list.append(x) |
リストの末尾に指定した要素xを追加します。 |
list.insert(i, x) |
指定された位置iに要素xを挿入します。 |
list.extend(iterable) |
イテラブルのすべての要素をリストの末尾に追加します。 |
example_list = [1, 2, 3]
# 末尾に要素を追加
example_list.append(4)
print(example_list)
# 指定位置に要素を挿入
example_list.insert(1, 99)
print(example_list)
# イテラブルを末尾に追加
example_list.extend("XYZ")
print(example_list)
出力結果は次の通りです:
[1, 2, 3, 4]
[1, 99, 2, 3, 4]
[1, 99, 2, 3, 4, 'X', 'Y', 'Z']
3-2. 要素の削除
リストから要素を削除する方法もいくつかあります。
| 操作 | 説明 |
|---|---|
list.pop(i) |
指定されたインデックスiの要素を削除し、その要素を返します(引数なしの場合、最後の要素を削除)。 |
list.remove(x) |
最初に見つかった要素xを削除します(存在しない場合、エラー発生)。 |
list.clear() |
リストを空にします。 |
delete_list = [5, 6, 7, 8, 9]
# 指定インデックスの要素を削除
deleted_item = delete_list.pop(1)
print(deleted_item)
print(delete_list)
# 指定要素を削除
delete_list.remove(7)
print(delete_list)
# リストを完全にクリア
delete_list.clear()
print(delete_list)
出力結果は次の通りです:
6
[5, 7, 8, 9]
[5, 8, 9]
[]
3-3. その他の操作
以下はリストに関するその他の便利な操作です。
| 操作 | 説明 |
|---|---|
list.index(x) |
要素xが最初に現れるインデックスを返します(存在しない場合、エラー発生)。 |
list.count(x) |
要素xがリスト内に存在する回数を返します。 |
list.reverse() |
リストの順序を逆にします。 |
list.sort() |
リストを昇順にソートします。 |
list.sort(reverse=True) |
リストを降順にソートします。 |
numbers = [3, 1, 4, 1, 5, 9]
# 要素の最初の出現インデックスを取得
print(numbers.index(1))
# 要素の出現回数をカウント
print(numbers.count(1))
# リストの順序を逆にする
numbers.reverse()
print(numbers)
# 昇順にソート
numbers.sort()
print(numbers)
# 降順にソート
numbers.sort(reverse=True)
print(numbers)
出力結果は次の通りです:
1
2
[9, 5, 1, 4, 1, 3]
[1, 1, 3, 4, 5, 9]
[9, 5, 4, 3, 1, 1]