Python - リスト

こんにちは、夢を追い求めるプログラマーの皆さん!今日は、Pythonのリストの素晴らしい世界に飛び込んでいきましょう。あなたの親しみのある近所のコンピューターサイエンスの先生として、この旅を案内することができて嬉しいです。基本から始めて、より高度な概念に進みましょう。信じてください、このチュートリアルの終わりまでに、プロのようにリストを操作できるようになるでしょう! ?

Python - Lists

Pythonリスト

Pythonのリストは、データ構造のスイスアーミーナイフです。それらは用途が多岐にわたり、使いやすく、非常に強力です。パーティを開く際、ゲストを管理する必要があるとします。リストはそれに最適です!

まず、最初のリストを作成しましょう:

guests = ["Alice", "Bob", "Charlie", "David"]
print(guests)

このコードを実行すると、以下のように表示されます:

['Alice', 'Bob', 'Charlie', 'David']

おめでとうございます!あなたは初めてのリストを作成しました。でも、実際には何が起こっているのでしょうか?

Pythonのリストは、角括弧[]で囲まれたアイテムのコレクションであり、各アイテムはコンマで区切られます。これらのアイテムは、文字列、数字、他のリストを含むどんな型でもかまいません!

以下は、異なるデータ型を含む別の例です:

mixed_list = [42, "Hello", 3.14, True, [1, 2, 3]]
print(mixed_list)

出力:

[42, 'Hello', 3.14, True, [1, 2, 3]]

ご覧のように、私たちのリストには整数、文字列、浮動小数点数、ブール値、そして他のリストも含まれています!

リストの値のアクセス

今、ゲストリストをお持ちしているので、誰が来るのかを確認するにはどうすればいいでしょうか?そんなときにはインデックスが役立ちます。Pythonでは、リストのインデックスは0から始まります。したがって、最初のアイテムにアクセスするには、インデックス0を使用します。

guests = ["Alice", "Bob", "Charlie", "David"]
print(guests[0])  # 最初のゲスト
print(guests[2])  # 三番目のゲスト
print(guests[-1])  # 最後のゲスト

出力:

Alice
Charlie
David

-1を使用して最後のアイテムにアクセスしたことにお気づきでしょうか?負のインデックスはリストの末尾から始まります。後方から数えるのと同じです!

リストの更新

あっ!Eveを招待するのを忘れました。リストに彼女を追加しましょう:

guests = ["Alice", "Bob", "Charlie", "David"]
guests.append("Eve")
print(guests)

出力:

['Alice', 'Bob', 'Charlie', 'David', 'Eve']

append()メソッドは、リストの末尾にアイテムを追加します。しかし、EveをBobとCharlieの間に追加したい場合はどうでしょう?

guests.insert(2, "Eve")
print(guests)

出力:

['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']

今、Eveが二人います!次のセクションでその修正を行いましょう。

リスト要素の削除

時々、リストからアイテムを削除する必要があります。余分なEveを削除しましょう:

guests = ['Alice', 'Bob', 'Eve', 'Charlie', 'David', 'Eve']
guests.remove("Eve")
print(guests)

出力:

['Alice', 'Bob', 'Charlie', 'David', 'Eve']

remove()メソッドは、指定されたアイテムの最初の出現を削除します。インデックスを知っている場合、pop()を使用できます:

removed_guest = guests.pop(3)
print(f"{removed_guest}は来れません。")
print(guests)

出力:

Davidは来れません。
['Alice', 'Bob', 'Charlie', 'Eve']

Pythonリスト操作

Pythonのリストには、すごい機能がいくつかあります。いくつかを探ってみましょう:

# 結合
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined = list1 + list2
print(combined)

# 反復
repeated = [1, 2, 3] * 3
print(repeated)

# 長さ
guests = ['Alice', 'Bob', 'Charlie', 'Eve']
print(len(guests))

出力:

[1, 2, 3, 4, 5, 6]
[1, 2, 3, 1, 2, 3, 1, 2, 3]
4

インデックス、スライシング、およびマトリックス

個々のアイテムにアクセスする方法を覚えましたね?スライシングを使用して一度に複数のアイテムにアクセスすることもできます:

guests = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']
print(guests[1:4])  # インデックス1から始まり、インデックス4まで(含まず)
print(guests[:3])   # 先頭からインデックス3まで(含まず)
print(guests[2:])   # インデックス2から末尾まで
print(guests[::2])  # 2つおきのアイテム

出力:

['Bob', 'Charlie', 'David']
['Alice', 'Bob', 'Charlie']
['Charlie', 'David', 'Eve']
['Alice', 'Charlie', 'Eve']

リストを使用してマトリックス(2次元リスト)を作成することもできます:

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[1][1])  # 二行目、二列目の要素にアクセス

出力:

5

Pythonリストメソッド

Pythonはリストに対してさまざまな組み込みメソッドを提供します。以下は、一般的なものの一部です:

メソッド 説明
append() リストの末尾に要素を追加
clear() リストのすべての要素を削除
copy() リストのコピーを返す
count() 指定された値の要素の数を返す
extend() 現在のリストの末尾にリストの要素を追加
index() 指定された値の最初の要素のインデックスを返す
insert() 指定された位置に要素を追加
pop() 指定された位置の要素を削除
remove() 指定された値の最初の要素を削除
reverse() リストの順序を逆転
sort() リストをソート

いくつか試してみましょう:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
numbers.sort()
print(numbers)
numbers.reverse()
print(numbers)
print(numbers.count(5))

出力:

[1, 1, 2, 3, 3, 4, 5, 5, 6, 9]
[9, 6, 5, 5, 4, 3, 3, 2, 1, 1]
2

組み込み関数とリスト

Pythonは、リストと一緒に使うのに適したいくつかの組み込み関数も提供しています:

numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3]
print(max(numbers))  # 最大値
print(min(numbers))  # 最小値
print(sum(numbers))  # すべての値の合計

出力:

9
1
39

それでは、皆さん!Pythonのリスト、作成から操作、簡単な操作から組み込みメソッドについての旅を終えました。これらの概念を実践することで、パーフェクトになりますので、实验を恐れずに行ってください。

最後に、楽しい事実をお届けします:Pythonのリストは実際には動的な配列として実装されています。これは、必要に応じて伸びたり縮んだりすることができるため、非常に柔軟です。

このチュートリアルを楽しんでいただけたことを、とても嬉しく思います。コーディングを続け、学び続け、最も重要なのは、Pythonを楽しんでいきましょう!

Credits: Image by storyset