Python字典查找数据的5个基础操作方法

目录

前言

上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据。查找数据写法一共有两种,一种能够是key值查找,另外一种是按照函数的写法进行数据查找。

一、key值查找

如果当前查找的key存在,则返回对应的值,否则则报错。

代码示例:

dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
# key存在则返回对应值
print(dict1[\'name\'])  # Rose
 
# key不存在则报错
print(dict1[\'id\'])  # 报错

二、函数查找

2.1 get()

语法:

字典序列.get(key, 默认值)

注意:

如果当前查找的key不存在则返回第二个参数(默认值),如果省略第二个参数,则返回None。

快速体验:

dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
# key存在
print(dict1.get(\'name\'))  # Rose
print(dict1.get(\'name\', \'python\'))  # Rose
 
# key不存在,第二个参数存在,返回第二个参数
print(dict1.get(\'id\', 1010))  # 1010
 
# key不存在,第二个参数不存在,返回None
print(dict1.get(\'id\'))  # None

2.2 keys()

语法:

字典序列.keys()

作用:

查找字典中所有的key,返回可迭代对象(可跌迭代对象就是可以用for遍历的对象)

快速体验:

dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
print(dict1.keys())
# 结果 dict_keys([\'name\', \'age\', \'sex\'])
# 结果是可迭代对象,用for遍历的对象

2.3 values()

语法:

字典序列.values()

作用:

查找字典中所有的value,返回可迭代对象(可跌迭代对象就是可以用for遍历的对象)

快速体验:

dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
print(dict1.values())
# 结果 dict_values([\'Rose\', 30, \'女\'])
# 结果是可迭代对象,用for遍历的对象

2.4 items()

语法:

字典序列.get(key, 默认值)

作用:

查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,元组数据1是字典的key,元组数据2是字典key对应的值。

快速体验:

dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
print(dict1.items())
# 结果 dict_items([(\'name\', \'Rose\'), (\'age\', 30), (\'sex\', \'女\')])
 
dict1 = {\'name\': \'Rose\', \'age\': 30, \'sex\': \'女\'}
print(dict1.items())
# 结果 dict_items([(\'name\', \'Rose\'), (\'age\', 30), (\'sex\', \'女\')])
 
# 结果是可迭代对象

附:字典的常用方法

\"\"\"
字典的定义、添加和修改
\"\"\"
dictA = {}  # 空字典,没有任何的数据
dictA[\'name\'] = \'lihua\'  # 将一个键值对添加到字典中,name是key,lihua是value
print(dictA)  # 输出完整的字典
dictB = {\'name\': \'xiaogang\', \'age\': 18, \'job\': [student, cook]}  # 在创建字典时就添加键值对
print(len(dictB))  # 字典同样可以通过len函数来获取键值对的长度
print(dictB[\'name\'])  # 因为字典中key具有唯一性,所以可以通过查找key的方式来获取对应的value
dictB[\'name\'] = \'xiaowang\'  # 修改key所对应的value
\"\"\"
字典中键、值、键值对的获取
\"\"\"
dictB = {\'name\': \'lh\', \'age\': \'18\', \'job\': \'student\'}
print(dictB.keys())  # 获取字典中全部的键
print(type(dictB.keys))  # 数据类型为dict_keys
print(dictB.values())  # 获取字典中全部的值
print(type(dictB.values()))  # 数据类型为dict_values
print(dictB.items())  # 获取字典中全部的键值对
print(type(dictB.items()))  # 数据类型为dict_values
\"\"\"
字典的遍历操作
\"\"\"
dictB = {\'name\': \'lh\', \'age\': \'18\', \'job\': \'student\'}
for item in dictB.items():
    print(item)  # 字典是可以遍历的
    pass
for key, value in dictB.items():
    print(key + \'==\' + value)  # 可以用两个临时变量分别接收键值对的key和value
\"\"\"
字典的更新、修改
\"\"\"
dictB = {\'name\': \'lh\', \'age\': \'18\', \'job\': \'student\'}
dictB.update({\'name\': \'lki\'})  # 利用update函数可以进行对键值对的修改
dictB.update({\'height\': \'159\'})  # update函数还可以增加键值对,有更新字典的特征
\"\"\"
键值对的删除
\"\"\"
dictB = {\'name\': \'lh\', \'age\': \'18\', \'job\': \'student\'}
del dictB[\'name\']  # 通过指定key可以删除键值对
dictB.pop(\'age\')  # 通过指定key进行删除
dictB.clear()  # 清空字典
del dictB  # 删除字典

总结

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容