pythonの辞書とセット
34953 ワード
1.辞書
辞書はシーケンシングシーケンスに属し、要素はシーケンシングされず、ハッシュ方式でデータアクセスされ、辞書は可変コンテナであり、辞書にはキー値ペア:key:valueが1つずつ保存されている.私たちはkeyを通じて対応する値を取得し、私たちの中国語辞書に似ています.辞書の特徴は、辞書のキーが一意でなければならないことであり、可変タイプでなければならないことであり、辞書の検索速度が速いことである.
1.1.辞書の作成
辞書を作成するには
1.2.辞書の一般的な操作
1.2.1.検索
辞書を次のように検索できます.
運転結果は以下の通りです.
ここで、キーによる値へのアクセスとget()関数による値へのアクセスの違いは、キーによる値へのアクセスで、キーが存在しない場合、pythonがエラーを報告することです.たとえば、
運転結果は以下の通りです.
ただし、get()関数によるアクセス値では、クエリーされたキーが存在しない場合、システムはエラーを報告せず、デフォルトではNoneが返されます.たとえば、
運転結果は以下の通りです.
1.2.2.追加
辞書に存在しないキーに値を割り当てるのは、追加です.たとえば、
運転結果は以下の通りです.
1.2.3.削除
辞書のキー値ペアを以下のように削除することができます.
運転結果は以下の通りです.
1.2.4.結合
辞書をupdate()関数でマージできます.
運転結果は以下の通りです.
1.2.5.遍歴する
辞書を巡回するには
運転結果は以下の通りです.
1.2.6.キー値の個数とメンバーの判断を取得
辞書の取得キー値の個数(len()とメンバー判断(in)の操作とリストは同じです.
2.集合
pythonのコレクションの特徴は、重複要素が許可されていないことです.重複要素を追加すると、フィルタが移動し、交差、並列の演算が可能になります.集合の本質は、シーケンスを無視し、重複要素を無視するデータ構造である.
2.1.コレクションの作成
次の方法でコレクションを作成できます.
運転結果は以下の通りです.
2.2.コレクションアクション
2.2.1.ふえる
集合内の要素を次のように追加することができます.
運転結果は以下の通りです.
2.2.2.削除
コレクション内の要素を削除するには、次のようにします.
運転結果は以下の通りです.
2.2.3.集合の長さとメンバーの判断
セット内の取得キー値対個数(len()とメンバー判定(in)の操作とリストは同じである.
2.2.4.並列、交差、差分
「|」、「&」、「-」によって、集合間の集計、交差、差分の計算を実現できます.
運転結果は以下の通りです.
辞書はシーケンシングシーケンスに属し、要素はシーケンシングされず、ハッシュ方式でデータアクセスされ、辞書は可変コンテナであり、辞書にはキー値ペア:key:valueが1つずつ保存されている.私たちはkeyを通じて対応する値を取得し、私たちの中国語辞書に似ています.辞書の特徴は、辞書のキーが一意でなければならないことであり、可変タイプでなければならないことであり、辞書の検索速度が速いことである.
1.1.辞書の作成
辞書を作成するには
d1 = {} #
d2 = {"name":" ", "age":20, "name":" "} # ,
d3 = dict() #
d4 = dict(a=3, b=4) # a b ,3 4
1.2.辞書の一般的な操作
1.2.1.検索
辞書を次のように検索できます.
d1 = {"a":10, "b":20, "c":30}
print(d1["a"]) #
print(d1.get("a")) # get()
運転結果は以下の通りです.
10
10
ここで、キーによる値へのアクセスとget()関数による値へのアクセスの違いは、キーによる値へのアクセスで、キーが存在しない場合、pythonがエラーを報告することです.たとえば、
d1 = {"a":10, "b":20, "c":30}
print(d1["m"])
運転結果は以下の通りです.
print(d1["m"])
KeyError: 'm'
ただし、get()関数によるアクセス値では、クエリーされたキーが存在しない場合、システムはエラーを報告せず、デフォルトではNoneが返されます.たとえば、
d1 = {"a":10, "b":20, "c":30}
print(d1.get("m"))
運転結果は以下の通りです.
None
1.2.2.追加
辞書に存在しないキーに値を割り当てるのは、追加です.たとえば、
d1 = {"a":10, "b":20, "c":30}
d1["abc"] = 300
print(d1)
運転結果は以下の通りです.
{'a': 10, 'b': 20, 'c': 30, 'abc': 300}
1.2.3.削除
辞書のキー値ペアを以下のように削除することができます.
# pop()
d1 = {"a":10, "b":20, "c":30}
d1.pop("a")
print(d1)
# del
d1 = {"a":10, "b":20, "c":30}
del d1["b"]
print(d1)
#
d1 = {"a":10, "b":20, "c":30}
d1.clear()
print(d1)
運転結果は以下の通りです.
{'b': 20, 'c': 30}
{'a': 10, 'c': 30}
{}
1.2.4.結合
辞書をupdate()関数でマージできます.
d1 = {"a": 1, "b": 2}
d2 = {"c": 3, "d": 4}
d1.update(d2)
print(d1)
運転結果は以下の通りです.
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
1.2.5.遍歴する
辞書を巡回するには
#
d1 = {"a":10, "b":20, "c":30}
for key in d1.keys():
print(key)
print()
#
d1 = {"a":10, "b":20, "c":30}
for value in d1.values():
print(value)
print()
#
d1 = {"a":10, "b":20, "c":30}
for key in d1.keys():
print(key, "----", d1[key])
print()
# items()
d1 = {"a":10, "b":20, "c":30}
for key, value in d1.items():
print(key, "----", value)
運転結果は以下の通りです.
a
b
c
10
20
30
a ---- 10
b ---- 20
c ---- 30
a ---- 10
b ---- 20
c ---- 30
1.2.6.キー値の個数とメンバーの判断を取得
辞書の取得キー値の個数(len()とメンバー判断(in)の操作とリストは同じです.
2.集合
pythonのコレクションの特徴は、重複要素が許可されていないことです.重複要素を追加すると、フィルタが移動し、交差、並列の演算が可能になります.集合の本質は、シーケンスを無視し、重複要素を無視するデータ構造である.
2.1.コレクションの作成
次の方法でコレクションを作成できます.
s1 = set() # {},
print(s1)
s2 = {1,2,3,4}
print(s2)
print(set([1, 2, 3]))
print(set((4, 5, 6)))
print(set("hello"))
print(set({"7": 1, "8": 2, "9": 3})) # ,
運転結果は以下の通りです.
set()
{1, 2, 3, 4}
{1, 2, 3}
{4, 5, 6}
{'h', 'o', 'e', 'l'}
{'7', '8', '9'}
2.2.コレクションアクション
2.2.1.ふえる
集合内の要素を次のように追加することができます.
# add()
s1 = {1, 2, 3, 4}
s1.add(5)
s1.add((6, 7)) # ,
print(s1)
# update()
s1 = {1, 2, 3, 4}
s1.update([5, 6, 7])
s1.update({8: 2, 9: 3}) #
s1.update("hello")
print(s1)
運転結果は以下の通りです.
{1, 2, 3, 4, 5, (6, 7)}
{1, 2, 3, 4, 5, 6, 7, 8, 9, 'o', 'h', 'l', 'e'}
2.2.2.削除
コレクション内の要素を削除するには、次のようにします.
# remove()
s1 = {1, 2, 3, 4, 5, 6}
s1.remove(1)
print(s1)
# ,
# pop()
s1 = {1, 2, 3, 4, 5, 6}
s1.pop() #
print(s1)
# discard()
s1 = {1, 2, 3, 4, 5, 6}
s1.discard(6)
s1.discard(10) # ,
print(s1)
運転結果は以下の通りです.
{2, 3, 4, 5, 6}
{2, 3, 4, 5, 6}
{1, 2, 3, 4, 5}
2.2.3.集合の長さとメンバーの判断
セット内の取得キー値対個数(len()とメンバー判定(in)の操作とリストは同じである.
2.2.4.並列、交差、差分
「|」、「&」、「-」によって、集合間の集計、交差、差分の計算を実現できます.
s1 = {1, 2, 3, 4}
s2 = {2, 3, 4, 5}
print(s1 | s2) #
print(s1 & s2) #
print(s1 - s2) #
運転結果は以下の通りです.
{1, 2, 3, 4, 5}
{2, 3, 4}
{1}