Python判断dict中key是否存在的3种方法实例

目录
  • 前言
  • 判断方法
    • 第一种方法:使用has_key()方法
    • 第二种方法:使用keys()方法
    • 第三种方法:优雅的使用 in 关键字(Python3支持,Python2不清楚)
  • 总结

前言

今天写代码遇到一个问题,如果要获取字典中某个key的value,那么很简单,直接获取就行了。

但是如果不确定这个字典中是否存在这个key,那直接获取就有可能会报错,那么会有一个KeyError的错误被抛出,当然你也可以直接通过捕获异常的方式来处理这个问题,但我更推荐大家提前判断这个字典中是否有这个key,也就是提前预断错误是否会发生,并且及时的避免它。

判断方法

第一种方法:使用has_key()方法

# 生成一个字典
dict = {'name': '','age': '','sex': ''}
# 打印返回值
print(dict.has_key('name'))  # 结果返回True
print(dict.has_key('id'))  # 结果返回False

不过这个方法在新版的Python中貌似已经被移除了,那么大家也可以使用第二种方法。

第二种方法:使用keys()方法

# 生成一个字典
dict = {'name': '','age': '','sex': ''}
# 判断是否存在,其中dict.keys()是列出字典所有的key
print('name' in dict.keys())  # 结果返回True
print('id' in dict.keys())  # 结果返回False

除了使用in也可以使用not in,用于判定这个key不存在

第三种方法:优雅的使用 in 关键字(Python3支持,Python2不清楚)

# 生成一个字典
dict = {'name': '','age': '','sex': ''}
# 判断key是否存在于dict中
print('name' in dict)  # 结果返回True
print('id' in dict)  # 结果返回False

这也是我个人比较推荐的一种用法

总结

到此这篇关于Python判断dict中key是否存在的3种方法的文章就介绍到这了,更多相关Python判断dict中key存在内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • python的dict判断key是否存在的方法

    大家在学会python中的字典,会发现,字典中是没有特殊顺序的,但是都存储在一个特定的key下面,key是什么呢?其实key是python字典中的键,可以是数字,也可以是字符串,可以存储任意类型的对象.那你知道如何判断字典中key的存在吗?下面小编就向大家介绍python中,判断字典中是否存在key的两种方法. 方法一:使用自带函数实现 dict = {'a': {}, 'b': {}, 'c': {}} print(dict.__contains__("b")) 返回:True pr

  • Python判断dict中key是否存在的3种方法实例

    目录 前言 判断方法 第一种方法:使用has_key()方法 第二种方法:使用keys()方法 第三种方法:优雅的使用 in 关键字(Python3支持,Python2不清楚) 总结 前言 今天写代码遇到一个问题,如果要获取字典中某个key的value,那么很简单,直接获取就行了. 但是如果不确定这个字典中是否存在这个key,那直接获取就有可能会报错,那么会有一个KeyError的错误被抛出,当然你也可以直接通过捕获异常的方式来处理这个问题,但我更推荐大家提前判断这个字典中是否有这个key,也就

  • python 判断字符串中是否含有汉字或非汉字的实例

    model中compile值可以根据需要更改,满足不同的检测需求 #判断一段文本中是否包含简体中文 import re zhmodel = re.compile(u'[\u4e00-\u9fa5]') #检查中文 #zhmodel = re.compile(u'[^\u4e00-\u9fa5]') #检查非中文 contents = u'(2014)深南法民二初字第280号' match = zhmodel.search(contents) if match: print(contents) e

  • python 判断矩阵中每行非零个数的方法

    如下所示: # -*- coding: utf-8 -*- # @Time : 2018/5/17 15:05 # @Author : Sizer # @Site : # @File : test.py # @Software: PyCharm import time import numpy as np # data = np.array([ # [5.0, 3.0, 4.0, 4.0, 0.0], # [3.0, 1.0, 2.0, 3.0, 3.0], # [4.0, 3.0, 4.0,

  • python修改list中所有元素类型的三种方法

    修改list中所有元素类型: 方法一: new = list() a = ['1', '2', '3'] for x in a: new.append(int(x)) print(new) 方法二: a = ['1', '2', '3'] b = [int(x) for x in a] print(b) 方法三: a = ['1', '2', '3'] print(map(int, a)) 以上这篇python修改list中所有元素类型的三种方法就是小编分享给大家的全部内容了,希望能给大家一个参

  • python批量生成身份证号到Excel的两种方法实例

    身份证号码的编排规则 前1.2位数字表示:所在省份的代码: 第3.4位数字表示:所在城市的代码: 第5.6位数字表示:所在区县的代码: 第7~14位数字表示:出生年.月.日: 第15.16位数字表示:所在地的派出所的代码: 第17位数字表示性别:奇数表示男性,偶数表示女性: 第18位数字是校检码,计算方法如下: (1)将前面的身份证号码17位数分别乘以不同的系数.从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2. (2)将这17位数字和系数相

  • 判断python字典中key是否存在的两种方法

    今天来说一下如何判断字典中是否存在某个key,一般有两种通用做法,下面为大家来分别讲解一下: 第一种方法:使用自带函数实现. 在python的字典的属性方法里面有一个has_key()方法,这个方法使用起来非常简单. 例: #生成一个字典 d = {'name':{},'age':{},'sex':{}} #打印返回值 print d.has_key('name') #结果返回True 第二种方法:使用in方法 #生成一个字典 d = {'name':{},'age':{},'sex':{}}

  • Shell脚本从文件中逐行读取内容的几种方法实例

    从文件逐行读取数据的方法有两种,一种是在while循环或until循环中使用read命令,通过文件描述符一行一行的读取文件内容:另一种是在for循环中使用cat <filename>来读取文件的内容. 1.使用for循环从文件中逐行读取内容:在默认情况现下此方法是逐个单词的读取文件内容,因为使用这种方法读取文件时,他使用环境变量IFS的值作为分隔符,由于IFS的默认值是"<space/空格>""<tab/制表符>""&l

  • ASP.NET Gridview 中使用checkbox删除的2种方法实例分享

    方法一:后台代码: 复制代码 代码如下: protected void btn_delete_Click(object sender, EventArgs e)    {        for (int i = 0; i <this.GridView1.Rows.Count; i++)        {            int id = Convert.ToInt32(this.GridView1.DataKeys[i].Value);            if ((this.GridV

  • Python判断文本中消息重复次数的方法

    本文实例讲述了Python判断文本中消息重复次数的方法.分享给大家供大家参考,具体如下: #coding:gbk ''' Created on 2012-2-3 从文件中读取文本,并判断文本中形如"message0"."message123"这样的消息有多少条是重复的 @author: Administrator ''' import re if __name__ == '__main__': pattern = u"(message((\d)+))&qu

  • python迭代dict的key和value的方法

    迭代dict的key和value 我们了解了如何迭代 dict 的key和value,那么,在一个 for 循环中,能否同时迭代 key和value?答案是肯定的. 首先,我们看看 dict 对象的 items() 方法返回的值: >>> d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } >>> print d.items() [('Lisa', 85), ('Adam', 95), ('Bart', 59)] 可以看到,items(

随机推荐