リスト(list): ミュータブル(変更可能)な配列
要素の追加・削除・並び替えが自由に行えるデータ構造です。
Python
numbers = [3, 1, 4, 1, 5]
# 操作
numbers.append(9) # 末尾に追加 -> [3, 1, 4, 1, 5, 9]
numbers.remove(1) # 最初の1を削除 -> [3, 4, 1, 5, 9]
popped = numbers.pop() # 末尾を取り出して削除 -> 9
# ソート(インプレース変換)
numbers.sort() # 昇順ソート -> [1, 3, 4, 5]
タプル(tuple): イミュータブル(変更不可)な配列
一度作成すると内容を変更できません。変更を防止したい安全なデータ群や、複数戻り値の保持に適しています。
Python
point = (10, 20)
# アンパック代入(展開)
x, y = point # x=10, y=20 に一度でセットされる
辞書(dict): キー・バリュー操作
キー(Key)と値(Value)の組み合わせでデータを管理します。
Python
user = {"id": 1, "name": "Alice"}
# 安全な値の取得 (.get メソッド)
# 存在しないキーを指定してもエラーにならず、デフォルト値を返せる
email = user.get("email", "未登録") # '未登録'
# 辞書の結合 (Python 3.9+)
extra_info = {"role": "Admin", "city": "Tokyo"}
user = user | extra_info
集合(set): 重複除去と集合演算
重複を許さず、順序を持たない要素の集まりです。
Python
set_a = {1, 2, 3, 4}
set_b = {3, 4, 5, 6}
print(set_a | set_b) # 和集合: {1, 2, 3, 4, 5, 6}
print(set_a & set_b) # 積集合: {3, 4}
print(set_a - set_b) # 差集合: {1, 2}
内包表記(Comprehensions)の書き方と処理速度
リストや辞書をスマートかつ高速に作成できるPython特有の文法です。
Python
# 従来のforループ
squares_for = []
for i in range(10):
if i % 2 == 0:
squares_for.append(i ** 2)
# リスト内包表記(コードが簡潔で実行スピードも速い)
squares_comp = [i ** 2 for i in range(10) if i % 2 == 0]
# 辞書内包表記
square_dict = {i: i ** 2 for i in range(5)}
# ジェネレータ式(メモリ効率が抜群)
square_gen = (i ** 2 for i in range(1000000))

コメント