python - Python:编写函数来检查列表并返回值或无
问题描述
我真的很难掌握python并弄清楚如何回答以下问题:
1) 接受电影列表和类别名称。如果该类别不在数据中,则打印一条消息,说明它不存在并返回 None。
这是它正在查看的列表:
movies = [
{
"name": "Usual Suspects",
"imdb": 7.0,
"category": "Thriller"
},
{
"name": "Hitman",
"imdb": 6.3,
"category": "Action"
},
{
"name": "Dark Knight",
"imdb": 9.0,
"category": "Adventure"
},
{
"name": "The Help",
"imdb": 8.0,
"category": "Drama"
},
{
"name": "The Choice",
"imdb": 6.2,
"category": "Romance"
},
{
"name": "Colonia",
"imdb": 7.4,
"category": "Romance"
},
{
"name": "Love",
"imdb": 6.0,
"category": "Romance"
}
]
这是我到目前为止的代码,但它只返回每个不匹配的匹配和打印,这不是我想要的:
def incat(cat):
for m in movies:
if m['category'] == cat:
print(m['name'])
else:
print(cat + ' does not exist')
incat('Romance')
我可能真的错过了一些非常简单的东西,但我发现很难把头绕起来。非常感谢任何帮助。
解决方案
您可以使用列表推导列出与您的类别相关的所有信息:
def in_cat(cat):
new = []
result = [i for i in movies if i['category'] == cat]
new.append(result)
print(new)
in_cat('Thriller')
输出:
[[{'name': 'Usual Suspects', 'imdb': 7.0, 'category': 'Thriller'}]]
推荐阅读
- android - 当我尝试实例化 ViewModelProviders 时,无法解析 of() 方法
- django - 如何通过 Queryset 在 Python 函数中访问 Django 模型实例的“absolute_url”
- python - 使用 Jinja 按嵌套字典值过滤
- c# - 同一数据库上的多个项目、上下文和表
- apache-kafka - 使用kafka为clickhouse生成数据
- google-cloud-platform - 尝试重新创建 cloudsql 实例时出现错误“项目中的资源是冲突的主题”的原因是什么?
- c# - 我可以将 ics 文件发送给 Outlook 与会者,将与会者状态更新为接受/拒绝吗
- python - 如何使用 webpy 在 python 中修复 500 Internal Server Error?
- objective-c - 绑定套接字时出错:NSPOSIXErrorDomain Code=1 "Operation not allowed"
- swagger - 如何在调用 Rest Endpoint 时在 Swagger 中设置输入参数选项