字典的基本概念
- 字典是一种映射类型,使用键值对存放,同时是一种可变序列【即可以进行增删改查操作】,一种无序序列【存入顺序和实际存放顺序不一致】。
- 字典中的键必须是不可变序列【字符串,整数序列】,保证hash函数在分配地址时不变。
- 字典中可以作为键的常用的就字符串和整数类型【当中可以进一步讨论】
字典的创建
方式一:{键名:值,键名:值}
score = {13: 20, 'jack': 19, 'tony': 'adf'}
方式二:使用内置函数(dict)进行创建
格式:字典名=dict(键名1=值,键名2=值)
student = dict(key1='张三', key2='李四')
空字典:abc = {}
字典的增、删、改、判断、查
增:字典名[键名]=值
score = {'张三': 20, 'jack': 19, 'tony': 'adf'}
score['增加'] = 231
print(score)
删:删除某一个键值:del 字典名[键名]
del score['张三']
清空字典:字典名.clear();
改:字典名[‘键名’]=‘修改值’
score['张三'] = '修改值'
判断:使用in 或者not in判定键是否存在于字典之中
print('张三' in score)
print('张三' not in score)
查:从字典中获取相应的键和值
方式一:使用[值对应的键],不存在对应的键时报错(KeyError)。
score = {'abc': 123, 'efg': 456, 'hij': 789}
print('第一种方法获取值')
print(score['abc'])
方式二:使用get(值对应的键),不存在对应的键时返回none,可以在尾部指定查找失败时返回默认值
print('第二种方法获取值')
print(score.get('abc'))
print(score.get('ad', '这是默认值')) # 设置查找不存在时返回指定默认值
字典的遍历
直接使用for循环遍历,两种不同的方式获取相应的值
score = {'张三': 20, 'jack': 19, 'tony': 'adf'}
for items in score:
print(items, score[items], score.get(items))
字典中的视图
- 使用view视图,keys()获取字典中所有的键,values()获取所以的值,items()获取所有的key,values对
- 使用keys,获取字典中所有的键
score = {'张三': 20, 'jack': 19, 'tony': 'adf'}
keys = score.keys()
print(keys)
print(type(keys))
print(list(keys))
3. 使用values,获取字典中所有的键
values = score.values()
print('\n', values)
print(type(values))
print(list(values)) # 使用list将其转换为列表类型
4. 使用items,获取字典中所有的键值对
items = score.items()
print('\n', items)
print(type(items))
print(list(items))