Python字典查找数据的5个基础操作方法
作者:python老鸟 发布时间:2021-09-08 23:19:45
标签:python,字典,查询
前言
上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据。查找数据写法一共有两种,一种能够是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 # 删除字典
来源:https://blog.csdn.net/weixin_48728769/article/details/124246816
0
投稿
猜你喜欢
- 这是一个给新手学习代码的帖子,包含以下内容:如何使用UBB代码,如何用js与剪贴板交互,如何使用textRange对象,如何使用自定义的快捷
- 假设要实现一个存放多种类型数据结构的对象,比如一个存放算术操作数和操作符的树结点,需要存放包含一元操作符、二元操作符和数字类型的结点clas
- 本文介绍机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类。Logistic回归算法同样是需要通过样本空间学习的监督学习
- 前言python 文件操作、文件读写(write、read、readlines、readline)、文件的相关操作,简单易懂1 文件操作文件
- 一些大型站点都有着非常一流的视觉外观,它们很可能在设计时使用了网格系统。网格可以是页面布局显得紧凑而且稳定,为设计师在设计站点时提供一个逻辑
- 本文实例讲述了Python常见工厂函数用法。分享给大家供大家参考,具体如下:工厂函数:能够产生类实例的内建函数。 工厂函数是指这些
- 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。请回想一下在硬盘上是如何查找文件的。您肯
- 一、安装ROS-OpenCV安装OpenCVsudo apt-get install ros-kinetic-vision-opencv l
- 安装pip install faker使用简单使用本库可生成姓名、地址、电话、邮箱、公司等等一系列数据。首先导入库,实例化:from fak
- 本文实例讲述了Python解析并读取PDF文件内容的方法。分享给大家供大家参考,具体如下:一、问题描述利用python,去读取pdf文本内容
- 刚才好无聊,突然想起来之前做一个课表的点子,于是百度了起来。刚开始,我是这样想的:在写微信墙的时候,用到了urllib2【两行代码抓网页】,
- 环境: python 2.7 + win10工具:fiddler postman 安卓模拟器首先,打开fiddler,fiddler作为ht
- 本文实例讲述了python实现中文输出的两种方法。分享给大家供大家参考。具体如下:方法一:用encode和decode如:import os
- 两个代码,一个是把python当微信操作,可以查看自己的好友信息,群信息等。还可以定时发送文本,文件等。效果就和你本人操作一样,没差别。还有
- 本人最近在做字符识别,所以自行在网上寻找方法,接触到tesseract,自己按照网上方法做的时候,也遇到一些问题
- 创建与打开站点启动FrontPage XP,选择菜单“文件/新建”,再单击“网页或站点”命令选项。在“新建网页或站点”任务窗格
- 最近研究研究了css,少不了去网上分析一下别人的网页, 但很多网站的css文件都是要么写在一行,要么一个换行都没有,看起来极其痛苦,所以写一
- 我就废话不多说了,大家还是直接看代码吧!cmd.py# -*- coding: utf-8 -*-from PySide import Qt
- 在Microsoft SQL Server 2000中,用于数据存储的实用工具是数据库。数据库的物理表现是操作系统文件,即在物理上,一个数据
- Laravel 中间件提供了一种方便的机制来过滤进入应用的 HTTP 请求。例如,Laravel 内置了一个中间件来验证用户的身份认证。如果