Python 字典(Dictionary)

字典是一种可变容器模型,且可存储任意类型对象。

字典的每一个键值 key value 对用冒号:分割,每个键值对之间用逗号,分割,整个字典包括在花括号{ }中,格式如下所示:

d = {key1 : value1, key2 : value2 }

键是唯一性的,如果键有重复,最后的一个键值对会替换前面的,值不需要唯一。

>>>dict = {'a': 1, 'b': 2, 'b': 3 }
>>> dict['b']
'3'
>>> dict
{'a': 1, 'b': 3}

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一、访问字典里的值

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First' }

print( "dict['Name']: ", dict['Name'] )

如果用字典里没有的键访问数据,会输出错误:KeyError :  '没有的键'

二、修改字典

(1) 向字典中添加新的元素
dict['School'] = 'GSAU School'

(2) 向字典中修改已经存在的值
dict['Age'] = 8

dict[' 键 '] = ' 值 '   如果键是字典中没有的,则创建新的键值对;如果键已经存在字典中,则修改原来的键对应的值!!!

三、删除字典元素

(1) 删除单一的元素
del dict['Name']    # 删除键是'Name'的条目

(2) 清空字典里的所有元素,但是字典对象还在!!!
dict.clear()        # 清空词典所有的条目

(3) 删除字典
del dict            # 删除内存中的字典对象

四、字典内置函数&方法

(1) Python字典包含3个内置函数:
1⃣️len(dict) 计算字典元素个数,即键的总数。
2⃣️srt(dict) 输出字典,以可打印的字符串表示。
3⃣️type(dict) 返回字典类型。<class 'dict'>

(2) Python字典包含一下内置方法:
1⃣️dict.clear()  # 删除字典内所有元素
2⃣️dict.copy()   # 返回一个字典的浅复制
3⃣️dict.fromkeys(seq, [,vlaue]) # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值。
4⃣️dict.get(key, default=None)  # 返回指定键的值,如果值不再字典中返回default值
5⃣️key in dict # 如果键在字典dict里返回True,否则返回False
6⃣️dict.items() # 以列表返回可遍历的(键、值)元组数组
7⃣️dict.keys() # 返回一个迭代器,可以使用list()来转换为列表
8⃣️dict.update(dict2)  # 把字典dict2的键/值对更新到dict里。(合并)
9⃣️dict.setdefault(key, default=None) # 和get()类似,但如果键不存在于字典中,将会添加键并将值设置为default。
🔟dict.value()  # 返回一个迭代器,可以使用list(),转换成列表
1⃣️1⃣️ dict.pop(key,[,default]) # pop()方法删除字典给定键key所对应的值,返回值为被删除的值。key值必须给出。如果key值没有给出,要给一个默认值,不然没有key值,也没有默认值,会报错!!!
1⃣️2⃣️dict.popitem()  # 随机返回并删除字典中的一对键和值(一般删除末尾对)。因为字典是无序的,所以说是随机删除!!!

五、遍历字典

遍历字典:

  for item in my_dict:

    print(item)

  取出的是该字典的键

 

自带函数items() 可以同时取出键与值

  for key, value in my_dict.items():

    print(key,value)

  for item in my_dict.items();

    print(item) # 这样取值的话,返回的就是一个元组,里面包含两个元素,第一个是键,第二个为值 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章