字典列表中键值对value的存在判断
小贾最近初学python,也是一名csdn小白(所以排版等问题希望大家可以多多指正哦)。在博文分享中,小贾会把最近学到的个人觉得有思考空间的内容放到博客与大家一同分享,希望与大家可以共同进步!
话不多说,直接上干货:
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()
2、运用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)
其输出为包含小明的字典的列表,这一输出,岂不使人浮想联翩,代码可操作性大大提高!