###dict
Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值**(key-value)**存储,具有极快的查找速度。
举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:
names = ['Michael', 'Bob', 'Tracy']
scores = [95, 75, 85]
给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。
如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。用Python写一个dict如下:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
#输出 95
向字典里面增加元素
方法:dict['new_key']=new_value
a={'Michael': 95, 'Bob': 75, 'Tracy': 85}
a['lee']=100
print(a)
#输出 {'Michael': 95, 'Bob': 75, ''lee':100,Tracy': 85}
注意字典里面内容是无序的,所以生成a['lee']的位置是随机的
###对字典里面元素进行修改
方法:直接修改value 的值即可修改,多次对一个key放入value,后面的值会把前面的值冲掉:
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['bob']=100
print(d)
#输出{'Michael': 95, 'Bob': 100, 'Tracy': 85}
###如果key不存在,Dict就会报错
>>> d['Thomas']
Traceback (most recent call last):
File "", line 1, in
KeyError: 'Thomas'
###遍历dict中的 kye,value
方法1:
a={"name":"lee","job":"it","sex":"man"}
for i in a:
print( i,a[i]) #效率高
#输出 job it
#name lee
#sex man
方法2:
for i,n in a.items(): #效率低
print(i,n)
#输出内容和方法1相同,但方法1效率更高,因为a.items() 先要转换成字典列表对象
print(a.items())
#输出内容为 [('name','lee'),('job','it'),('sex','man')]
###dict字典的一些方法:
可以用Python3.5 自带命令查找方法列表和方法的用法
a={'name',"lee"}
dir(a)
得到结果
#用法 ,注意后面不用加()
help(a.get)
得到结果