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


猜你喜欢
- 概述主要用于全国地区数据的操作,包括省,市,区 * 联动,地区数据的添加和删除; 在操作地区数据时,以前也用过树形的地区选择组件,但因其在再操
- Session和Cookie在Web开发中,Session和Cookie是常见的两种技术,它们用于在客户端和服务器端之间传递数据。Sessi
- 画一个地球想画一个转动的地球,那么首先要有一个球,或者说要有一个球面,用参数方程可以表示为x=rcosϕcosθy=rc
- 本文实例讲述了python面试题之列表声明。分享给大家供大家参考,具体如下:下面程序输出的结果为?val = [['a']*
- function getHTTPRequest() { var xhr = false; if (window.XMLHttpRequest
- js数组元素的添加和删除一直比较迷惑,今天终于找到详细说明的资料了,先给个我测试的代码^-^var arr = new Array();ar
- 在讲样式表开发管理之前,我想插播一个小知识。前几天看web标准设计组里,看到龍佑康同学问到关于 block 和 inline 的区别。记得以
- 1、安装依赖包yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoco
- 包的使用1.首次导入模块发生的事情3件事情先产生一个执行文件的名称空间:1.创建模块文件的名称空间2.执行模块文件中的代码 将产生的名字放入
- 传统的HTML页面中连动下拉框采用了两种方法:1)直接将下拉框中的内容hardcode于html的javascript中,调用javascr
- 1.watch * 引入watchimport { ref, reactive, watch, toRefs } from 'vue
- 本文实例讲述了python基于queue和threading实现多线程下载的方法,分享给大家供大家参考。具体方法如下:主代码如下: &nbs
- 微信链接分享给好友时能够自定义标题、简介和logo,现将ThinkPHP5集成JS-SDK实现微信自定义分享功能的过程整理成文。Jssdk类
- 核心代码:#!/usr/bin/python# -*- coding: UTF-8 -*-import smtplibimport osim
- 本文实例为大家分享了JavaScript实现QQ聊天室的具体代码,供大家参考,具体内容如下1. 任务要求1)掌握基本过滤选择器;2)掌握jQ
- 前言今天在编码中,看到了一个非常经典的接口用法如下,于是查阅了相关资料,发现此种写法为接口型函数,本文对此做了细致的阐述。// A Gett
- 众所周知,随着数据库体积的日益庞大,其备份文件的大小也水涨船高。虽然说通过差异备份与完全备份配套策略,可以大大的减小SQL Server数据
- 如何让用户也能修改密码? 好了,照下面添加到你要添加的地方去:<%id = Request(&qu
- 1.执行时间 window.onl
- IIS上设置301 跳转相信大家都会,只要在网站-属性-主目录里 选择重定向URL就行了,这样整站就跳转到目标站点了,但是有个问