python - Django / Python检查键是否存在,然后以高效和pythonic的方式有条件地更改键的值
问题描述
我想检查 key 是否存在,request.query_params
如果存在,那么我正在检查值,如果它有't'
然后将其更改为 boolean True
else False
。下面是我写的代码,但看起来很糟糕,有没有一种干燥有效的方法?
# [...]
# [...]
if "active" in request.query_params:
if "t" in request.query_params["active"].lower():
request.query_params["active"] = True
else:
request.query_params["active"] = False
if "sensitivity" in request.query_params:
if "t" in request.query_params["sensitivity"].lower():
request.query_params["sensitivity"] = True
else:
request.query_params["sensitivity"] = False
# [...]
解决方案
定义keys = ['active', 'sensitivity']
然后做什么
for key in keys:
obj = request.query_params.get(key)
if obj is None:
continue
request.query_params[key] = "t" in obj.lower()
或等效地,
for key in keys:
obj = request.query_params.get(key)
if obj is not None:
request.query_params[key] = "t" in obj.lower()
推荐阅读
- javascript - TypeScript 接口中粗箭头函数和普通函数类型声明的区别
- python - 创建以调用者脚本文件名命名的日志文件
- c# - 不同控制器中的 OData 自定义路由约定
- swift - 我在哪里从 UIAlertController 的选择中重新加载 tableView?
- python - 在 read_csv() 中忽略的 Pandas 类别 dtypes
- python-3.x - 将多个数据框转换为带有标题的 HTML 页面
- javascript - 在给定条件下修改 JavaScript 中的树结构数据?
- firebase - 如何让登录用户安全连接到数据库?智威汤逊?
- python - 如何在套接字编程python中获取用户PC名称
- xcode - XCODE吊销证书后,Codesign想使用XXX钥匙串