第九讲:字典

字典

说明:字典是可变容器,可以存储任何类型对象,使用键-值(key-value)存储,具有极快的查找速度。键是唯一的,值可以取任何数据类型

1、创建字典:

dict={}    #创建空字典

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

2、(查)访问字典的值:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print ("dict['Name']=",dict['Name'])
print ("dict['Age']=",dict['Age'])

运行结果:
dict['Name']= Zara
dict['Age']= 7

 

3、(改)修改字典的值:

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict['Age']=8         #修改键的值
print ("dict['Age']=",dict['Age'])
dict['school']='XINDONGFANG'       #增加新的键值
print (dict)

运行结果:
dict['Age']= 8
{'Name': 'Zara', 'Age': 8, 'Class': 'First', 'school': 'XINDONGFANG'}

4、(删)删除字典的值

  • 删除字典的元素
  • 清空字典
  • 删除字典
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

del dict['Name']      #删除字典元素
print (dict)
dict.clear()        #清除字典
print (dict)
del dict          #删除字典
print (dict)

运行结果:
{'Age': 7, 'Class': 'First'}
{}
<class 'dict'>

5、遍历字典:分别遍历字典的key,value,items:

#遍历key值
for key in dict.keys():
    print (key)
print ('--'*10)

#遍历value值
for value in dict.values():
    print (value)
print ('--'*10)

#遍历key和value值
for key,value in dict.items():
    print (key+'='+str(value))

运行结果:
Name
Age
Class
--------------------
Zara
7
First
--------------------
Name=Zara
Age=7
Class=First

6、判断key是否存在(key值唯一):

方法一:通过 in 判断key是否存在

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print
('Name1' in dict)

运行结果:
False

注意:python3没有has_key()方法,用in代替 

方法三:get()方法判断key是否存在,key不存在,返回None,或指定的value值

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
print (dict.get('Name')) print (dict.get('Name2',-1))

运行结果:
Zara
-1


7、字典的排序:sored(key,reverse),reverse默认是False,升序排序;如reverse=True,为降序排序

  •  sored()默认是对字典的键,从小到大排序:
dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict2=sorted(dict1)
print (dict2)

运行结果:
['Age', 'Class', 'Name']

  • 对字典的键反向排序:
dict1 = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
dict2=sorted(dict1.keys(),reverse=True)
print (dict2)
  • 对字典的值排序:
dict1={'a':2,'e':3,'f':8,'d':4}
list1 = sorted(dict1.values(),reverse=True)
print (list1)

运行结果:
[8, 4, 3, 2]

  • 用items()函数  对字典的键和值进行排序: 
dict1={'a':2,'e':3,'f':8,'d':4}
print (dict1.items())
list1=sorted(dict1.items(),key=lambda x:x[0])    #按键key进行排序
print (list1)
list2=sorted(dict1.items(),key=lambda x:x[1])    #按键value进行排序
print (list2)

运行结果:
dict_items([('a', 2), ('e', 3), ('f', 8), ('d', 4)])
[('a', 2), ('d', 4), ('e', 3), ('f', 8)]
[('a', 2), ('e', 3), ('d', 4), ('f', 8)]

猜你喜欢

转载自www.cnblogs.com/wenxiacui/p/10964428.html