Python 100Days Challenge Day8
Pythonで使われる4つのデータ構造についてまとめていく。
データを入れる「箱」という概念を前提に書いていく。
リスト
たくさんのアイテム(もの)を順番に並べて入れておける「箱」というイメージでOK。この箱は、あとからアイテムを追加したり、取り出したり、並べ替えたりすることができる。
# リストの作成
fruits = ["apple", "banana", "cherry"]
print(f"初期リスト: {fruits}")
# 要素の追加
fruits.append("orange")
print(f"要素追加後: {fruits}")
# 要素の削除
fruits.append("banana")
print(f"要素追加後: {fruits}")
# スライス
# インデックス1から2までの要素を取得する
subset = fruits[1:3]
print(f"スライス結果: {subset}")
タプル
タプルは、一度決めたら変えられないアイテム(もの)を順番に並べて入れておける「箱」です。だから、大切な情報や変わってほしくないデータを入れておくのに便利(だと思う。執筆時点では、まだつかったことがないから何とも言えない)。
# タプルの作成
person = ("Ken Tanaka", 20, "Backend Developer")
print(f"タプル: {person}")
# 要素へアクセスする
name = person[0]
age = person[1]
profession = person[2]
print(f"名前: {name}, 年齢: {age}, 職業: {profession}")
辞書
辞書はキーと値のペアを格納するデータ構造になってる。キーによって値にアクセスできる。
# 辞書を作成する
employee = {"name": "Ken Tanaka", "age": 20, "department": "Product Develop"}
print(f"初期辞書: {employee}")
>
初期辞書: {'name': 'Ken Tanaka', 'age': 20, 'department': 'Product Develop'}
# キーと値の追加
employee["salary"] = 5000
print(f"キーと値の追加後: {employee}")
>
キーと値の追加後: {'name': 'Ken Tanaka', 'age': 20, 'department': 'Product Develop', 'salary': 5000}
# キーと値の削除
del employee["age"]
print(f"キーと値の削除後: {employee}")
>
キーと値の削除後: {'name': 'Ken Tanaka', 'department': 'Product Develop', 'salary': 5000}
これはよく使われるので解説。
辞書はKeyとvalueのペアを使ってデータを管理する。これを使えばキーを指定するだけで対応する値を簡単に取り出すことができる。
集合
集合は、同じアイテムを二回入れることができない「箱」。この箱の中ではアイテム同士を比べたり、共通のアイテムを見つけたりすることができる。
# 集合の作成
skills = {"Python", "Java", "C++"}
print(f"初期集合: {skills}")
# 要素の追加
skills.add("SQL")
print(f"要素追加後: {skills}")
# 要素の削除
skills.remove("Java")
print(f"要素削除後: {skills}")
# 集合演算
additional_skills = {"HTML", "CSS", "Python"}
all_skills = skills.union(additional_skills) # 和集合
common_skills = skills.intersection(additional_skills) # 積集合
print(f"和集合: {all_skills}")
print(f"積集合: {common_skills}")
Memo on programming by Tomo.