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

目录
  • 前言
  • 一、key值查找
  • 二、函数查找
    • 2.1 get()
    • 2.2 keys()
    • 2.3 values()
    • 2.4 items()
  • 附:字典的常用方法
  • 总结

前言

上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据。查找数据写法一共有两种,一种能够是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  # 删除字典

总结

到此这篇关于Python字典查找数据的5个基础操作方法的文章就介绍到这了,更多相关Python字典查找数据内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python中让MySQL查询结果返回字典类型的方法

    Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据 默认连接数据库: 复制代码 代码如下: MySQLdb.connect(     host=host,         user=user,         passwd=passwd,         db=db,         port=port,         charset='utf8' ) 查询数据: 复制代码 代码如下: cur = co

  • Python根据字典的值查询出对应的键的方法

    本文主要介绍了Python 字典值查询出对应的键,分享给大家,也给自己留个笔记,具体如下: # -*- coding: utf-8 -*- # Author Zhang Chen # Email ZhangChen.Shaanxi@gmail.com # Data 2018/11/1 persons={'ZhangSan':'male', 'LiSi':'male', 'WangHong':'female'} #找出所有男性 males = filter(lambda x:'male'== x[

  • Python Sqlite3以字典形式返回查询结果的实现方法

    sqlite3本身并没有像pymysql一样原生提供字典形式的游标. cursor = conn.cursor(pymysql.cursors.DictCursor) 但官方文档里已经有预留了相应的实现方案. def dict_factory(cursor, row): d = {} for idx, col in enumerate(cursor.description): d[col[0]] = row[idx] return d 使用这个函数代替conn.raw_factory属性即可.

  • Python查询Mysql时返回字典结构的代码

    MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行. 默认程序: MySQLdb默认查询结果都是返回tuple,输出时候不是很方便,必须按照0,1这样读取,无意中在网上找到简单的修改方法,就是传递一个cursors.DictCursor就行.默认程序: 复制代码 代码如下: import MySQLdb db = MySQLdb.connect(host = ´localh

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

    目录 前言 一.key值查找 二.函数查找 2.1 get() 2.2 keys() 2.3 values() 2.4 items() 附:字典的常用方法 总结 前言 上一篇文章写了关于字典操作方法的增删改,这篇主要讲解如何查找字典数据.查找数据写法一共有两种,一种能够是key值查找,另外一种是按照函数的写法进行数据查找. 一.key值查找 如果当前查找的key存在,则返回对应的值,否则则报错. 代码示例: dict1 = {'name': 'Rose', 'age': 30, 'sex': '

  • python字典遍历数据的具体做法

    说明 1.for循环遍历:使用for循环直接遍历字典,此时得到字典的key值. 2.keys():用于获取字典的key值.获得的类型是dict_keys,然后使用list()进行强制转换,获得key值,或者使用for循环遍历. 3.values():用于获取字典的values值,类型为dict_values,然后使用==list()==强制转换,获取values值,也可以使用for循环遍历. 4.items():用于获取字典中的所有键值对.获得的类型是dict_items,内容是由key值和va

  • Python字典创建 遍历 添加等实用基础操作技巧

    字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. 一.字典中常见方法列表 代码如下: D.clear() #移除D中的所有项 D.copy() #返回D的副本 D.fromkeys(seq[,val]) #返回从seq中获得的键和被设置为val的值的字典.可做类方法调用 D.get(key[,default]) #如果D[key]存在,将其返回:否则返回给定的默认值None D.h

  • 解决Python字典查找报Keyerror的问题

    Python的字典一般都直接查找key ,比如 dict={'a':1,'b':2,'c':3} print(dict['a']) 但是如果在查找的key不存在的时候就会报:KeyError: 比如你要查看print(dict['d']) 由于这个时候dict里面并没有这个key ,所以就会直接报错,那么这个时候其实python给我们提供了一种很棒的解决方法,那就是用 setdefault,用法如下: dict.setdefault(key,[这里设置如果不存在想将值设置为啥,默认为None])

  • 详解Python字典查找性能

    目录 timeit.repeat 字典获取性能 数据准备 复杂获取 总结 timeit.repeat timeit.repeat默认会执行3轮,每轮执行1000000次.返回每轮的总执行时间列表 字典获取性能 大家都知道字典获取分为 中括号获取,获取不到会抛出KeyError get获取,获取不到会返回默认值 下面比较两种获取方式的性能 数据准备 一条简单一条复杂 # logging标准库的level字典 level_mapping = {'CRITICAL': 50, 'FATAL': 50,

  • Python字典的基础操作

    目录 1.字典的概念 2.创建和使用字典 2.1 创建字典 3.字典的运算 3.1 字典的方法 1.字典的概念 Python中的字典数据类型和现实中的字典很像,它是以键值对(键和值的组合)的方式把数据组织到一起,可以通过键找到与之对应的值并进行操作.就跟字典中每次字(键)都会有对应的解释(值)一样,每个字和它的解释合在一起就是字典中的一个条目,而字典中通常包含了很多个这样的条目. 2.创建和使用字典 在Python中创建字典使用{}字面量语法,这跟创建集合的符号是一样的.但是字典的{}中的元素是

  • python使用点操作符访问字典(dict)数据的方法

    本文实例讲述了python使用点操作符访问字典(dict)数据的方法.分享给大家供大家参考.具体分析如下: 平时访问字典使用类似于:dict['name']的方式,如果能通过dict.name的方式访问会更方便,下面的代码自定义了一个类提供了这种方法. class DottableDict(dict): def __init__(self, *args, **kwargs): dict.__init__(self, *args, **kwargs) self.__dict__ = self de

  • python实现查找excel里某一列重复数据并且剔除后打印的方法

    本文实例讲述了python实现查找excel里某一列重复数据并且剔除后打印的方法.分享给大家供大家参考.具体分析如下: 在python里面excel的简单读写操作我这里推荐使用xlrd(特别是读操作) import xlrd def open_excel(fileName="simple.xls"): try: fileHandler = xlrd.open_workbook(fileName) return fileHandler except Exception, e: print

  • Python字典数据对象拆分的简单实现方法

    本文实例讲述了Python字典数据对象拆分的简单实现方法.分享给大家供大家参考,具体如下: 有朋友问了下问题: {'A1;A2': 'B','A3': 'C'}这种数据结构要拆解成{'A1':'B', 'A2': 'B', 'A3': 'C'},要如何实现? 这种问题,如果用普通的for循环来实现的话,还是有点麻烦: >>> dct = {'A1;A2': 'B','A3': 'C'} >>> tmp = {} >>> for k,v in dct.i

  • Python实现的根据文件名查找数据文件功能示例

    本文实例讲述了Python实现的根据文件名查找数据文件功能.分享给大家供大家参考,具体如下: #-*- coding: UTF-8 -*- import os import shutil AllFiles=[] NameFiles=[] def findFie(filePath): pathDir = os.listdir(filePath) for allDir in pathDir: # print(allDir) AllFiles.append(allDir) #pass #filepat

随机推荐