使用python检查值是否已经存在于字典列表中

 更新时间:2022年12月19日 16:46:49   作者:Jenrey  
这篇文章主要介绍了使用python检查值是否已经存在于字典列表中,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

python检查值是否已经存在于字典列表中

a = [
    {'main_color': 'red', 'second_color':'blue'},
    {'main_color': 'yellow', 'second_color':'green'},
    {'main_color': 'yellow', 'second_color':'blue'},
]
 
#括号中的部分是一个生成器表达式,对于具有您要查找的键值对的每个字典都返回True,否则返回False。
if not any(d['main_color'] == 'red' for d in a):
    # does not exist
 
#如果键也可能缺少上面的代码可以给你一个KeyError。你可以通过使用get和提供一个默认值来解决这个问题。
if not any(d.get('main_color', None) == 'red' for d in a):
    # does not exist

字典列表中键值对value的存在判断

话不多说,直接上干货

1.1、最基础的:for迭代与if判断的结合

dict_list = [{"name": "小明",
              "qq": "123",
              "age": "18"},
             {"name": "小美",
              "qq": "110",
              "age": "17"}]
name = input("请输入查找的学生信息:")

for info in dict_list:
    if name == info["name"]:
        print("存在该学生")
        break
else:
    print("该学生不存在")

1.2、运用dict.values()方法返回字典中所有值value来进行判断:

if name in info.values()

运用filter()函数与lambda方法进行迭代

result = filter(lambda x: x["name"] == name, dict_list)
result_list = list(result)
if len(result_list) > 0:
    print("存在")
else:
    print("不存在")'''

关于上述代码的解释:

1.lambda方法是定义匿名函数的方法,其函数名即为其返回值,于是此处直接采用lambda定义函数而不必专门调用函数;

2.filter(function,iterable)函数有两个参数,分别是判断函数和可迭代对象,返回一个迭代器对象。一般采用list()函数将其返回值转换为列表形式。

在这个项目中,我将result_list函数输出,有惊喜!

result = filter(lambda x: x["name"] == name, dict_list)
result_list = list(result)
print(result_list)

其输出为包含小明的字典的列表,这一输出,岂不使人浮想联翩,代码可操作性大大提高!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Django的session中对于用户验证的支持

    Django的session中对于用户验证的支持

    这篇文章主要介绍了Django的session中对于用户验证的支持,Django是百花齐放的Python框架中人气最高的一个,需要的朋友可以参考下
    2015-07-07
  • Python图像运算之图像灰度非线性变换详解

    Python图像运算之图像灰度非线性变换详解

    这篇文章将详细讲解图像灰度非线性变换。图像灰度非线性变换主要包括对数变换、幂次变换、指数变换、分段函数变换,通过非线性关系对图像进行灰度处理,本文主要讲解三种常见类型的灰度非线性变换,感兴趣的可以了解一下
    2022-03-03
  • 分析详解python多线程与多进程区别

    分析详解python多线程与多进程区别

    这篇文章主要为大家分析详解了python多线程与多进程区别,以及在使用过程中的注意要点,有需要的朋友可以借鉴参考下,希望可以有所帮助
    2021-09-09
  • 利用Python通过获取剪切板数据实现百度划词搜索功能

    利用Python通过获取剪切板数据实现百度划词搜索功能

    大家是不是嫌弃每次打开百度太麻烦?今天教大家利用Python通过获取剪切板数据实现百度划词搜索功能,用程序直接打开网页,需要的朋友可以参考下
    2021-06-06
  • python3 QT5 端口转发工具两种场景分析

    python3 QT5 端口转发工具两种场景分析

    这篇文章主要介绍了python3 QT5 端口转发工具,功能是打开本机端口,映射到指定IP的端口,接下来通过两种场景给大家详细介绍,感兴趣的朋友一起看看吧
    2022-01-01
  • 如何用scheduler实现learning-rate学习率动态变化

    如何用scheduler实现learning-rate学习率动态变化

    这篇文章主要介绍了如何用scheduler实现learning-rate学习率动态变化问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 深入分析Python中Lambda函数的用法

    深入分析Python中Lambda函数的用法

    lambda函数是Python中常用的内置函数,又称为匿名函数。和普通函数相比,它只有函数体,省略了def和return,使得结构看起来更精简。本文将详细说说Lambda函数的用法,需要的可以参考一下
    2022-12-12
  • python如何去除字符串中不想要的字符

    python如何去除字符串中不想要的字符

    这篇文章主要为大家详细介绍了python如何去除字符串中不想要的字符,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python ChineseCalendar包主要类和方法详解

    Python ChineseCalendar包主要类和方法详解

    ChineseCalendar 是一个 Python 包,用于获取中国传统日历信息。这个包提供了中国农历、二十四节气、传统节日、黄历等信息,这篇文章主要介绍了Python ChineseCalendar包简介,需要的朋友可以参考下
    2023-03-03
  • Python中获取秒级时间戳的实践指南

    Python中获取秒级时间戳的实践指南

    在计算机编程中,时间戳是一个非常重要的概念,它表示自 1970 年 1 月 1 日(UTC)以来经过的秒数,在 Python 中,获取当前时间的时间戳是一项常见的任务,尤其是在处理日志、数据库时间戳或者需要时间同步的场景中,本文介绍了Python中获取秒级时间戳的实践指南
    2024-12-12

最新评论