Python字典的使用和方法
一、创建字典
字典(Dictionaries),属于映射类型,它是通过键实现元素存取,具有无序、可变长度、异构、嵌套和可变类型容器等特点。
字典中的键和值有单引号,他们成对出现,中间用冒号分割,每对直接用逗号分割,并放置在花括号中,格式如下:
dictname = {键1: 值1, 键2: 值2, 键3: 值3, ……, 键n: 值n}
在同一个字典中,键应该是唯一的,但值则无此限制。
举例如下:
sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
sample_dict2 = {12: 34, 34: 56, 56: 78}
sample_dict3 = {'Hello': 'World', 34: 56, 'City': 'CQ'}
创建字典时,同一个键被两次赋值,那么第一个值无效,第二个值被认为是该键的值。
sample_dict4 = {'Model': 'PC', 'Brand': 'Lenovo', 'Brand': 'Thinkpad'}
这里的键Brand生效的值是Thinkpad。
字典也支持嵌套,格式如下:
dictname = {键1: {键11: 值11, 键12: 值12 },
键2:{ 键21: 值21, 键2: 值22},
……,
键n: {键n1: 值n1, 键n2: 值n2}}
例如:
sample_dict5 = {'office':{ 'room1':'Finance ', 'room2':'logistics'},
'lab':{'lab1':'Physics', 'lab2':'Chemistry'}}
二、使用字典
使用字典中的值时,只需要把对应的键放入方括号,格式为:
dictname[键]
举例如下:
>>> sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
>>> print ("sample_dict1['Hello']: ", sample_dict1['Hello'])
sample_dict1['Hello']: World #输出键为Hello的值
>>> sample_dict2 = {12: 34, 34: 56, 56: 78}
>>> print ("sample_dict2[12]: ", sample_dict2[12])
sample_dict2[12]: 34 #输出键为12的值
使用包含嵌套的字典,例如:
>>> sample_dict5 = {'office':{ 'room1':'Finance', 'room2':'logistics'},
'lab':{'lab1':' Physics', 'lab2':'Chemistry'}}
>>> print ("sample_dict5['office']: ", sample_dict5['office'])
sample_dict5['office']: {'room1': 'Finance', 'room2': 'logistics'} #输出键为office 的值
可以对字典中的已有的值进行修改,例如:
>>> sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
>>> print (sample_dict1['City']) #输出键为City的值
CQ
>>> sample_dict1['City'] = 'NJ' #把键为City的值修改为NJ
>>> print (sample_dict1['City']) #输出键为City的值
NJ
>>> print (sample_dict1)
{'Hello': 'World', 'Capital': 'BJ', 'City': 'NJ'} #输出修改后的字典
可以向字典末尾追加新的键值,例如:
>>> sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
>>> sample_dict1['viewspot']= 'HongYaDong' #把新的键和值添加到字典
>>> print (sample_dict1) #输出修改后的字典
{'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ', 'viewspot': 'HongYaDong'}
三、删除元素和字典
可以使用del语句删除字典中的键和对应的值,格式为:
del dictname[键]
使用del语句删除字典,格式为:
del dictname
举例如下:
>>> sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
>>> del sample_dict1['City'] #删除字典中的键City和对应的值
>>> print (sample_dict1) #打印结果
{'Hello': 'World', 'Capital': 'BJ'}
>>> del sample_dict1 #删除该字典
>>> print (sample_dict1) #打印该字典
Traceback (most recent call last): #系统正常报错,该字典未定义
File "<pyshell#71>", line 1, in <module>
print (sample_dict1)
NameError: name 'sample_dict1' is not defined
四、字典的内置函数和方法
举例如下:
>>> sample_dict1 = {'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}
>>> len(sample_dict1) #计算该字典中键的总数
3
>>> str(sample_dict1) #输出字典
"{'Hello': 'World', 'Capital': 'BJ', 'City': 'CQ'}"
>>> type(sample_dict1) #返回数据类型
<class 'dict'>