Python -辞書、集合-
Pythonにおける辞書(dictionary)と集合(set)は、リストやタプルとは異なるデータ構造で、それぞれ特有の用途と特徴を持っている
1.辞書(dictionary)
辞書は、キーと値のペアを格納するデータ構造のこと。キーを使って対応する値にアクセスでき、キーは一意でなければならない。辞書は変更可能で、要素の追加や削除が可能
辞書の定義
my_dict = {
"name": "太郎",
"age": 25,
"city": "東京"
}
この例では、"name", "age", "city" がキーで、それぞれ "太郎", 25, "東京" という値を持っている
要素へのアクセス
my_dict = {
"name": "太郎",
"age": 25,
"city": "東京"
}
print(my_dict["name"])
# 出力: 太郎
print(my_dict["age"])
# 出力: 25
キーを使って辞書の値にアクセスできる
要素の追加・更新
my_dict = {
"name": "太郎",
"age": 25,
"city": "東京"
}
my_dict["job"] = "エンジニア" # 新しいキーと値を追加
print(my_dict)
# 出力: {'name': '太郎', 'age': 25, 'city': '東京', 'job': 'エンジニア'}
my_dict["age"] = 26 # 既存の値を更新
print(my_dict)
# 出力: {'name': '太郎', 'age': 26, 'city': '東京', 'job': 'エンジニア'}
要素の削除
my_dict = {
"name": "太郎",
"age": 25,
"city": "東京"
}
del my_dict["city"] # 特定のキーを削除
print(my_dict)
# 出力: {'name': '太郎', 'age': 26', 'job': 'エンジニア'}
辞書のメソッド
print(my_dict.keys())
# 出力: dict_keys(['name', 'age', 'job'])
print(my_dict.values())
# 出力: dict_values(['太郎', 26, 'エンジニア'])
print(my_dict.items())
# 出力: dict_items([('name', '太郎'), ('age', 26), ('job', 'エンジニア')])
keys() : 辞書のすべてのキーを取得
values() : 辞書のすべての値を取得
items() : 辞書のすべてのキーと値のペアを取得
2. 集合 (set)
集合は、重複する要素を持たない無秩序なコレクション
集合は、リストやタプルとは異なり順序を持たない。そのため、インデックスを使って要素にアクセスすることはできないが、要素の存在確認や集合同士の演算には便利だ
集合の定義
my_set = {1, 2, 3, 4, 5}
この例では、整数の集合 'my_set' が定義されている
要素の追加
my_set.add(6)
print(my_set)
# 出力: {1, 2, 3, 4, 5, 6}
'add()' メソッドを使って集合に要素を追加できる
要素の削除
my_set.remove(3)
print(my_set)
# 出力: {1, 2, 4, 5, 6}
'remove()' メソッドで特定の要素を削除できる
集合の操作
和集合 (union) : 2つの集合のすべての要素を含む新しい集合を作成する
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union_set = set1.union(set2)
print(union_set)
# 出力: {1, 2, 3, 4, 5}
積集合 (intersection) : 2つの集合に共通する要素を含む新しい集合を作成する
intersection_set = set1.intersection(set2)
print(intersection_set)
# 出力: {3}
差集合 (difference) : 一方の集合には含まれているが、もう一方の集合には含まれていない要素を含む新しい集合を作成する
difference_set = set1.difference(set2)
print(difference_set)
# 出力: {1, 2}
対象差 (symmetric_difference): 両方の集合のうち一方にのみ含まれる要素を含む新しい集合を作成
symmetric_difference_set = set1.symmetric_difference(set2)
print(symmetric_difference_set)
# 出力: {1, 2, 4, 5}
この記事が気に入ったらサポートをしてみませんか?