字典表Dict
01 概述
形式:key-value
原理:哈希算法
顺序:无序
重复:key不能重复
可变:key不可改变(可以用数字,字符串或元组充当,而用列表就不行),
value支持原位改变
优点:查询速度快
02 操作
1)定义:大括号+逗号+冒号
d = {‘ISBN’:’1241345′, ‘Title’:’Python’,’Price’:39.00}
2)索引:key访问value值
方法(1)d[‘Title’]
——①如果Title不存在会报错②区分大小写
或
方法(2) d.get(‘title’,’no’)
——存在返回value,不存在返回no
3)赋值:
d[‘Title’]=’Python指南’ ①key存在覆盖原值,
②key不存在则增加新元素
③与List不同,list只要下标不存在就报错
4)构造方法:
emp = dict (name=’Mike’, age=20, job=’dev’)
——①dict(key=‘value’) ②键不用引号③默认字符串
dict={} 空字典
5)dict支持原位改变
List和dict都支持原位改变,字符串不支持
emp[‘age’]=35
6)添加元素
方法(1)d[‘Title’]=’Python指南’
方法(2)定义一个元素的dict再update
dep = {‘department’:’技术部’}
emp.update(dep)
7)删除元素
emp.pop(‘age’) 删除键age
emp.clear() 清空字典
del emp[‘age’] 删除键age
del emp 删除字典
8)获取key、value、key-value所有值,并可以用for进行遍历
emp.keys() 获取所有key值
emp.values() 获取所有value值
emp.items() 获取所有key-value值
for k, v in emp.items(): 获取key-value值且格式化name=>Mike,
print(‘{}=>{}’.format(k,v), end=’, ‘)
注意①:获取的三种内容虽可以遍历,但并非列表
9)排序
dict元素本身无序,但可以排序
方法(1):取出所有key,然后转换为list,再排序,再取出value
ks = list(emp.keys())
ks.sort()
for k in ks:
print(‘{}=>{}’.format(k,emp.get(k)), end=’, ‘)
方法(2):取出所有key,全局函数sorted排序,再取出value
ks2=sorted(emp.keys())
for k in ks2:
print(‘{}=>{}’.format(k,emp.get(‘k’)), end=’, ‘)