当前位置: 首页 > 面试题库 >

python中最好的方法是什么:if语句中的OR或IN?

令狐灿
2023-03-14
问题内容

python中最好的方法是什么:if语句中的 ORIN ?考虑性能和最佳实践。

if cond == '1' or cond == '2' or cond == '3' or cond == '4' (etc...) :

要么

if cond in ['1','2','3','4']:

谢谢。


问题答案:

最好的方法是使用 set

if cond in {'1','2','3','4'}:

因为集合中的成员资格测试为O(1)(不变成本)。

其他两种方法的复杂度相同。只是固定成本的差异。in测试既有清单又有or链条短路;找到匹配项后立即终止。一种使用字节码跳转序列(如果为True,则跳转到末尾),另一种使用C循环,如果值匹配则使用早期退出。在最坏的情况下,在这里cond
没有 匹配两种方法必须检查的序列中的元素 所有 的元素它可以返回之前False。在这两者中,我每天都会选择in测试,因为它更具可读性。



 类似资料:
  • 问题内容: 在Python中,我有以下示例类: 如您所见,我有一个简单的“私有”属性“ _attr”和一个用于访问它的属性。有很多代码可以声明一个简单的私有属性,我认为这样声明所有属性并不符合“ KISS”哲学。 因此,如果我不需要特定的getter / setter / deleter,为什么不将我的所有属性都声明为公共属性呢? 我的回答是:因为封装原理(OOP)另有说明! 什么是最好的方法 ?

  • 我只用if语句解决了这个问题。它可以用其他各种方法来解决。我刚刚开始编程,所以我想不出使用任何其他数据结构来解决这个问题。 我的问题: 如何在各种方法中选择最好的方法?和我的直接天真方法相比,这种最佳方法的优点/缺点是什么。 不仅针对这个问题,总的来说。如何解决任何问题? 我的代码: 问题链接:https://www.hackerrank.com/challenges/binary-search-

  • 我有一个if语句,里面有很多条件,但是条件是完全不同的。看起来真的很笨重。我不确定是否有办法做这件事。

  • 问题内容: 谈论Java性能..哪个更好?if..else或多个if 要么 对您的想法感兴趣 谢谢! 问题答案: 在性能方面没有区别。选择最易读的选项,具体取决于代码的功能。 通常,不必担心这些微优化。只有在确定存在需要解决的性能问题后,才能进行优化。 “我们应该忘记效率低下的问题,大约有97%的时间是这样:过早的优化是万恶之源。” -唐纳德​​·努斯

  • 本文向大家介绍Nginx中IF、AND、OR语句用法实例,包括了Nginx中IF、AND、OR语句用法实例的使用技巧和注意事项,需要的朋友参考一下 在上一篇文章:《Nginx if语句加正则表达式实现字符串截断》中, 我们介绍过了使用if来进行截断字符串的用法, 这次我们来了解下if的逻辑用法: 什么是逻辑用法呢, 就程序中的and、or关系, 就叫做逻辑了. NGINX支持if的 and 与 o