查找是我们所有数据类型学习中的重点,字典也不例外,用不同的方法从不同的维度查找,应有尽有。下面就从简到难一步一步来学习字典的查询方法。
1.使用键查找单个值
dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
print(dict5['age']) # 使用键查找值
返回结果:18
2.使用get()方法查找键对应的值
dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
print(dict5.get('age'))
# 利用get函数使用键查找值,如果key不存在返回None
print(dict5.get('age', '默认值'))
# 如果键不存在,设置返回默认值
返回结果:18
3.使用setdefault()查找
setdefault和get函数差不多,但是如果键不存在,则查找的内容当做键放入字典,并设置默认值,不设置为None
dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
print(dict5.setdefault('age2'))
age2不存在,返回None
4.查询所有键和值以及键值对
dict5 = {'name': 'Tom', 'age': 18, 'love': 'python'}
# keys() # 获取所有的键,返回列表
print(dict5.keys())
# values() # 获取所有的值,返回列表
print(dict5.values())
# items() # 获取所有键值对,返回元祖组成的列表
print(dict5.items())
返回结果:
dict_keys(['name', 'age', 'love', 'age2'])
dict_values(['Tom', 18, 'python', None])
dict_items([('name', 'Tom'), ('age', 18), ('love', 'python'), ('age2', None)])
从上面的返回结果中发现有三种不同的数据类型:dict_keys(),dict_values(),dict_items(),这样的数据是没有办法按照列表下标进行访问的。
v = dict5.values()
print(v[1])
返回结果:
TypeError: 'dict_values' object is not subscriptable
这时候我们可以转换为元祖后再访问试试
list_v = list(v)
print(list_v[1])
返回结果:18