Pythonにおけるコレクションコンテナー
Pythonには、データを効率的に格納して操作するための様々なコレクションコンテナーが用意されています。それぞれ異なる特性を持ち、状況に応じて使い分けることが重要です。ここでは、代表的なコレクションコンテナーとその特徴について解説します。
1. シーケンス型
-
リスト (list): 順序付きの要素の集合を格納します。要素はインデックスを使ってアクセスおよび操作できます。柔軟性が高く、様々な用途に利用できます。
Python# リストの作成 data_list = [1, 2, 3, 4, 5] # 要素へのアクセス first_element = data_list[0] # first_element は 1 になります last_element = data_list[-1] # last_element は 5 になります # 要素の追加 data_list.append(6) # 要素の削除 data_list.remove(3)
-
タプル (tuple): 順序付きの要素の集合を格納します。リストと異なり、要素の追加や削除はできません。変更不可なデータの保存に適しています。
Python# タプルの作成 data_tuple = (1, 2, 3, 4, 5) # 要素へのアクセス first_element = data_tuple[0] # first_element は 1 になります last_element = data_tuple[-1] # last_element は 5 になります # 要素の追加・削除 (エラーが発生します) # data_tuple.append(6) # data_tuple.remove(3)
-
文字列 (str): 文字のシーケンスを格納します。様々な文字列操作機能が用意されています。
Python# 文字列の作成 data_string = "Hello, World!" # 文字列の長さ string_length = len(data_string) # string_length は 13 になります # 部分文字列の取得 first_three_chars = data_string[:3] # first_three_chars は "Hel" になります last_two_chars = data_string[-2:] # last_two_chars は "! " になります # 文字列の置換 replaced_string = data_string.replace("World", "Python") # replaced_string は "Hello, Python!" になります
-
バイト列 (bytes): バイトのシーケンスを格納します。バイナリデータの処理に適しています。
Python# バイト列の作成 data_bytes = b"Hello, World!" # バイト列の長さ bytes_length = len(data_bytes) # bytes_length は 13 になります # 部分バイト列の取得 first_three_bytes = data_bytes[:3] # first_three_bytes は b"Hel" になります last_two_bytes = data_bytes[-2:] # last_two_bytes は b"! " になります # バイト列の置換 replaced_bytes = data_bytes.replace(b"World", b"Python") # replaced_bytes は b"Hello, Python!" になります
2. 集合型
- セット (set): 個別な要素の集合を格納します。要素の順序は保持されません。重複要素は自動的に削除されます。
Python
# セットの作成 data_set = {1, 2, 3, 4, 5} # 要素の追加 data_set.add(6) # 要素の削除 data_set.remove(3) # 要素の判定 is_in_set = 2 in data_set # is_in_set は True になります # 集合演算 other_set = {3, 4, 6, 7} intersection = data_set & other_set # intersection は {3, 4, 6} になります union = data_set | other_set # union は {1, 2, 3, 4, 5, 6, 7} になります difference = data_set - other_set # difference は {1, 2, 5} になります
**3.
0 件のコメント:
コメントを投稿