一、字典格式:
{键1:值1,键2:值2,键3:值3...}
字典的元素包括二项:键、值。
二、创建字典的方法
1、使用花括号创建空字典后再追加元素:
a={ } #创建一个空字典
a["name"]="Han" #添加元素:a={"name":"Han"}
a["age"]=23 #再添加元素:a={"name":"Han","age",23}
***注意:
---不允许同一个键出现两次。否则保留最后一个值。
---键不可变。数字、字符串或元组可作键,但列表不能作键。
2、直接使用花括号创建非空字典:
a={"name":"Han","age",23}
3、使用dict函数:
a=dict( ) #创建空字典
x=[('name','Han'),('age',23)]
a=dict(x) #将列表转换为字典
a=dict(name='Han',age=23) #直接通过键、值创建字典
4、利用字典的fromkeys方法:
x={ }.fromkeys(['a','b','c'],0) #第一个参数为键列表,第2个参数为所有键的初值
三、字典操作
1、访问字典元素
方法:通过键读取值。如:
a={"Name":"ZSan","Age",21}
print(a["Age"])
***如果访问的键不存在,则会触发KeyError错误。为避免触发该错误,应该先判断键是否存在。确认键存在后,再访问值。如:
a={"Name":"ZSan","Age",21}
if "Age" in a:
print(a["Age"])
2、遍历字典
方法:使用for循环,通过键的遍历得到值。如:
a={"Name":"ZSan","Age",21}
for k in a:
print(a[k])
3、添加、更新元素
方法:直接通过键赋值。如:
a={"Name":"ZSan","Age",21}
a["Age"]=23 #修改元素的值。a=a={"Name":"ZSan","Age",23}
a["Class"]=1 #添加新元素
4、删除元素
方法:使用del命令。如:
del a["Class"] #删除字典中的键“Class”及其对应值
del a #删除字典
***如果需要删除的元素不存在,则会触发KeyError错误。
四、字典内置函数
1、clear:删除字典的所有元素(空字典)
2、copy:字典拷贝(得到新字典)。
3、get(key,d):根据键key得到其对应的值。不存在键时返回参数d的值。
***注意与a[key]的区别:不存在key时,a[key]会触发KeyError错误。
4、pop(key,d):删除键key对应元素并返回其值。如果键不存在,则返回d值。如果不指定d,则键不存在时会触发KeyError错误。
5、items( ):返回字典的元素视图。如:
x=dict(a=1,b=2,c=3)
a=x.items( ) #a=dict_items([('a', 1), ('b', 2), ('c', 3)])
b=list(a) #b=[('a', 1), ('b', 2), ('c', 3)]
6、keys( ):返回字典的键视图。如:
x=dict(a=1,b=2,c=3)
a=x.keys( ) #a=dict_keys(['a', 'b', 'c'])
b=list(a) #b=['a', 'b', 'c']。等效于b=list(x)
7、values( ):返回字典的值视图。如:
x=dict(a=1,b=2,c=3)
a=x.values( ) #a=dict_values([1, 2, 3])
b=list(a) #b=[1,2,3]
8、update(d):将字典d的元素添加到字典中。如:
x=dict(a=1,b=2,c=3)
y=dict(d=4,e=5)
x.update(y) #x={'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}
9、fromkeys(seq,v):以序列seq的元素为键,所有键值均为初值v创建新字典。如:
x={ }.fromkeys(['a','b','c'],0)
五、字典常用函数
1、len(d):返回字典元素个数
2、dict:创建字典,使用方法请参阅“创建字典”部分
3、list:将字典的键转换为列表。如:
x=dict(a=1,b=2,c=3)
a=list(x) #a=['a','b','c']
4、tuple:将字典的键转换为元组。如:
x=dict(a=1,b=2,c=3)
a=tuple(x) #a=('a','b','c')

