数据库的搜索模拟
教学用方案
# # 查找
# # 假设数据库中取出来的数据为以下的内容:
database = [{"name": "zs", "age": 18}, {"name": "zs2", "age": 28}, {"name": "zs", "age": 18}]
# # 查询条件为
cond = {"age": 18, "name":"zs"}
# cond = {"age": 18}
# cond = {"age": 18, "gender":1}
# # 写一套逻辑,可以让database经过一翻处理,得到这样的结果
# res = [{"name": "zs", "age": 18}, {"name": "zs3", "age": 18}]
for data in database:
print("*"*20)
print(data)
# 获得一个又一个的字典
# data = {"name": "zs", "age": 18}
# 判断1,条件中的键是否在data字典中
num = 0 # 计数器,统计有几个符合条件
cond_num = len(cond) # 有几个条件
for k, v in cond.items():
if k in data and data[k] == v:
num += 1
print("{}-{}".format(num, cond_num), data, k,v)
else:
if num == cond_num:
# 判断达到条件的数量与要求的条件数量是否一致
print(data, '=='*10)
肖航同学的方案
# # 查找
# # 假设数据库中取出来的数据为以下的内容:
database = [{"name": "zs", "age": 18}, {"name": "zs2", "age": 28}, {"name": "zs", "age": 18}]
# # 查询条件为
cond = {"age": 18, "name":"zs"}
for data in database:
flag = True
for k, v in cond.items():
if k in data and data[k] == v:
# print(data, k, v)
pass
else:
flag = False
else:
if flag:
print(data, '===>')
本文介绍了一种数据库搜索模拟的算法实现方案,通过遍历数据库中的每条记录,对比查询条件,筛选出符合条件的数据。文章详细展示了如何通过Python代码实现这一过程,包括条件匹配、数据过滤等关键步骤。

1万+

被折叠的 条评论
为什么被折叠?



