用户在查看书籍信息时只能一个一个查看,没有查找自己需要的书籍的功能,在该系统中添加一个搜索图书的功能。代码
时间: 2024-02-29 08:52:48 浏览: 12
好的,以下是一个基础的搜索图书的功能的代码示例,供您参考:
```python
# 导入必要的库
import re
from typing import List, Dict
# 假设这是图书库中的所有图书信息
books = [
{"title": "Python编程从入门到实践", "author": "Eric Matthes", "ISBN": "9787115472167"},
{"title": "流畅的Python", "author": "Luciano Ramalho", "ISBN": "9787111594910"},
{"title": "利用Python进行数据分析", "author": "Wes McKinney", "ISBN": "9787111603308"},
{"title": "Python网络爬虫从入门到实践", "author": "崔庆才", "ISBN": "9787121361989"},
{"title": "Python数据科学手册", "author": "Jake VanderPlas", "ISBN": "9787115531865"}
]
def search_books(keyword: str) -> List[Dict]:
"""
根据关键字搜索图书信息
"""
# 初始化搜索结果列表
results = []
# 对每本图书进行匹配
for book in books:
# 判断图书信息中是否包含关键字
if re.search(keyword, book["title"], re.IGNORECASE) or \
re.search(keyword, book["author"], re.IGNORECASE) or \
re.search(keyword, book["ISBN"], re.IGNORECASE):
# 如果匹配成功,则将该图书信息添加到搜索结果列表中
results.append(book)
return results
# 测试搜索功能
results = search_books("Python")
print(results)
```
以上代码中,我们定义了一个 `search_books` 函数,用于根据关键字搜索图书信息。在函数中,我们首先初始化一个搜索结果列表 `results`,然后对每本图书进行匹配。我们使用正则表达式搜索图书信息中是否包含关键字,如果匹配成功,则将该图书信息添加到搜索结果列表中。最后,我们返回搜索结果列表。
在测试中,我们输入关键字 "Python",搜索结果包含了所有包含关键字 "Python" 的图书信息。您可以根据实际需求,对搜索功能进行扩展,比如加入分页、支持多关键字搜索等功能。