1.8辞書の構造
可変オブジェクト:
ディクショナリ自体はマッピングのセットであり、各データ項目はキーと値で構成されるキーと値のペアです。
辞書はキーと値のペアで構成されているため、キーに基づいて値を取得できます
これはセットと同じです、あなたはコーナーマークを通して要素を得ることができません
辞書のキーを繰り返すことはできません値を繰り返すことができます
すべてのキーがセットを形成し、すべての値がシーケンスを形成します
キーは不変のオブジェクトでなければなりません!!!!!!
辞書を作成します。
キーと値はコロンで分離され:
、各キーと値のペアがされ,
分離コンマによって全体辞書である{}
に
>>> s = {1,2,3}
>>> type(s)
<class 'set'>
>>> s = {}
>>> type(s)
<class 'dict'>
>>> s = set()
>>> s
set()
>>> dic = {}
>>> dic = {'Alice':20,'Beth':21,'Cecil':30}
>>> dic
{'Alice': 20, 'Beth': 21, 'Cecil': 30}
>>> dic = dict(hehe=20,haha=30,xixi=40)
>>> dic
{'hehe': 20, 'haha': 30, 'xixi': 40}
>>> dic = dict([('lala',2),('xixi',3),('hehe',4)])
>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}
アクセス要素
キーによる要素へのアクセス
>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 0
>>> dic ={0:1,1:2,2:3}
>>> dic
{0: 1, 1: 2, 2: 3}
>>> dic[0]
1
>>> dic= {'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic['heihei']
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'heihei'
追加および変更
追加とは、キーと値のペアを辞書に追加することです。変更とは、元のキーに対応する値を変更することです。キーは1つの値にしか対応できないため、キーを複数回割り当てると、実際には変更されます。
キーが存在しない場合は追加され、存在する場合は変更されます
>>> dic
{'lala': 2, 'xixi': 3, 'hehe': 4}
>>> dic['lala'] = 666
>>> dic
{'lala': 666, 'xixi': 3, 'hehe': 4}
>>> dic['lala'] = 888
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4}
>>> dic['kaka'] = 9
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4, 'kaka': 9}
>>> dic['kaka'] = 10
>>> dic
{'lala': 888, 'xixi': 3, 'hehe': 4, 'kaka': 10}
削除操作
>>> del dic['xixi']
>>> dic
{'lala': 888, 'hehe': 4, 'kaka': 10}
>>> dic.pop('hehe')
4
>>> dic
{'lala': 888, 'kaka': 10}
>>> dic.clear()
>>> dic
{}
>>> del dic
辞書を繰り返します
keys()、values()、items()
dic = {'lala': 1, 'xixi': 3, 'hehe': 4, 'kaka': 2}
# 1.直接遍历字典 获取键 根据键获取值
for key in dic:
print(key, dic[key])
print("=" * 10)
# 2. 利用keys方法 获取键 根据键获取值
for key in dic.keys():
print(key, dic[key])
print("=" * 10)
# 3. 利用values方法 获取值 但是无法获取键
for value in dic.values():
print(value)
print("=" * 10)
# 4. 利用items方法 获取键值对-元组
for key,values in dic.items():
print(key,values)