小编ck1*_*7pd的帖子

什么时候值得在 if-else 语句上使用循环?

some_array假设我正在寻找wheresome_array等于 的索引target。我知道 python 有列表理解 和np.where(),这两个功能都可以很好地满足我的目的。但还要假设我想用if-elif-else 语句或循环来完成它for。如果数组长度为 3,则实现如下所示:

if some_array[0]==target:
    return 0
elif some_array[1]==target:
    return 1
else:
    return 2 
Run Code Online (Sandbox Code Playgroud)
for i in range(3):
    if some_array[i]==target:
        return i
Run Code Online (Sandbox Code Playgroud)

那么,什么时候使用 for 循环而不是 if-elif-else 语句更好呢?我最感兴趣的是它在 python 和 C 中的应用,即switch-cases.

我的子问题是:

  • 如果感觉另一种方法更快,编译器(或在Python的情况下,numbacython)是否会从for循环切换到switch-cases循环,反之亦然?
  • 是否存在普遍接受的良好编码实践,建议语句的最大长度if-elif-else以提高可读性?
  • 数组的长度或迭代次数是否存在一个阈值,其中一个比另一个表现更好?

如果之前有人问过这个问题,我深表歉意。我尝试检查建议的问题,但对我的目的没有帮助。

提前致谢!

c python loops if-statement compilation

2
推荐指数
1
解决办法
178
查看次数

标签 统计

c ×1

compilation ×1

if-statement ×1

loops ×1

python ×1