按用户/页面搜索
Coddy 社交媒体搜索项目:Python JSON 基础 课程的第 6 课,共 10 课。
现在,你需要逐个实现搜索功能。正如之前提到的,实体/账户类型有 2 种:user 和 page
你需要添加一个新筛选器,以便将搜索范围缩小到特定实体。
例如,用户可能想要搜索系统中的所有用户。这时,他们可以在实体下拉筛选器中选择 user ,然后点击搜索。
你的函数会收到一个包含实体记录的 JSON 字符串。
JSON 对象将采用以下格式。type 可以是 user 或 page
例如,用户记录如下:
{
"name": "Robert McNally",
"city": "Hawaii",
"type": "user"
}page记录如下:
{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}这些对象会被打包在一个名为 result 的 JSON 数组中。
请查看挑战中的示例输入,了解输入格式。
挑战
简单编写一个函数 searchby_entity,它接收:
all_entities- 字符串数组 - JSON 文件中所有实体的列表,采用 JSON 字符串格式filter_entity- 字符串 - 选定的筛选实体。值可以是 user、page 或 group
并输出一个 Python 列表,也就是按 filter_entity 筛选后的 all_entities 列表。
请注意,all_entities 是一个 JSON 字符串。该字符串是一个 JSON 对象,你需要将它转换为字典对象。
示例:
输入 - all_entities =
{"result": [{
"name": "Robert McNally",
"city": "Hawaii",
"type": "user"
}, {
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}, {
"name": "Coddy Official",
"city": "Haifa",
"type": "page"
}]}filter_entity = page
预期输出 - 下面的列表
[{
"name": "Friendly Neighborhood Coder",
"city": "Trivandrum",
"type": "page"
}, {
"name": "Coddy Official",
"city": "Haifa",
"type": "page"
}]说明 - all_entities 列表中 type="user" 对应的字典对象已被移除。
亲手试试
def searchby_entity(all_entities, filter_entity):
# 在这里编写代码社交媒体搜索项目:Python JSON 基础中的所有课
自己练习: Python 在线编译器