python - 具有部分字符串匹配的列表理解
问题描述
尝试编写一个函数来搜索转换为字典列表的请求响应。每个返回的用户都会有很多属性,但我需要display_name
根据通过主函数传递的查询来查找用户。
当前出现错误:
如果在用户 ['display_name'] 中查询:TypeError:'NoneType' 类型的参数不可迭代
功能定义
def search_users(self, query, group='any'):
# Returns list of dictionaries representing users
users = self.get_all_users()
for user in users:
if query in user['display_name']:
result_set.append(user)
主函数调用
looker.search_users('steve')
解决方案
只需更改行:
if query in user['display_name']:
至
if query in user.get('display_name',''):
如果密钥存在并且它的值存在,则上述答案将不起作用,None
因此我根据@tobias_k 评论更新了我的答案 -
if query in (user['display_name'] or ''):
推荐阅读
- docker - 是否可以从 Docker 访问 localhost?
- r - R组的分位数
- python - 在打印函数调用中添加了不需要的空格
- mysql - 对内部联接中的每一行进行计数
- reactjs - 404 路由被渲染一瞬间
- angular - 为什么客户端获取的数据会出现在 Angular SSR/universal 的视图源中?
- python - Python,Selenium - 解析。无法从动态填充中获取信息
- google-sheets-formula - 从 Google 表格中的不同单元格运行相同的公式
- tsql - 如何在左外连接选择中使用主选择中的值 - T-SQL
- android - 在导航 ui 中按后退箭头执行操作