python - 检查范围内的东西的运行时间
问题描述
我想检查 m 是否在 l 和 h 之间。我可以写
if m<=h and m>=l
或者
m in range(l,h+1)
后者看起来更好,但它是否需要超过 O(1) 时间?
解决方案
O(1):
if m<=h and m>=l:
...
在 Python 2 中为O(n),但在 Python 3 中为O(1):
if m in range(l, m+1):
...
更好的风格:
if low <= m <= high:
...
注意:如果 m 可以是非整数(例如考虑浮点数),则行为会有所不同。
推荐阅读
- .net - .Net 2.0 到 .Net 4.7.1 的迁移
- c# - 反序列化的问题
- java - 为什么这里需要“String.class”?
- node.js - 如何在node.js中为jade中的每个循环制作
- ckan - 停止/启动ckan docker容器后“未找到数据集”
- ssas - SSAS表格模型:具有相同维度表的两个关系
- redirect - AWS Cognito 电子邮件确认未重定向到我的网站
- git - GIT 将分支代码与最新的修补程序代码合并
- sql - 如何使用 sql select 语句中的列将公式写为列
- python - 熊猫数据框函数返回日期最近的行并且其中一列包含输入值,抛出错误