Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 优化for-if循环_Python_For Loop - Fatal编程技术网

Python 优化for-if循环

Python 优化for-if循环,python,for-loop,Python,For Loop,我用python写这个问题,但它可能适用于任何编程语言。我想知道是否有更有效的方法来编写以下代码: for x in range(9): if x == 5: list_ = [101, 102] for x in list_: print(x) else: print(x) 我很高兴不必重复打印(x)这不会缩短代码。。。根据您在实际应用程序中执行的操作,它可能会稍微慢一点,但在一个步

我用python写这个问题,但它可能适用于任何编程语言。我想知道是否有更有效的方法来编写以下代码:

for x in range(9):
    if x == 5:        
        list_ = [101, 102]
        for x in list_:
            print(x)
    else:   
        print(x)

我很高兴不必重复打印(x)

这不会缩短代码。。。根据您在实际应用程序中执行的操作,它可能会稍微慢一点,但在一个步骤中进行调用,在另一个步骤中进行调用是一种常见的技术。如果您有常见的呼叫后处理,这一点尤其有用。不过,对于这个例子来说,这有点过头了

for x in range(9):
    if x == 5:        
        list = [101, 102]
    else:
        list = [x]
    for x in list:
        print(x)
不重复
print(x)
不会改变此代码的效率,因为这里有一个
if
/
else
,所以每个数字只打印一次

您可以将其写得更短,例如:

for x in [*range(5), 101, 102, *range(6, 9)]:
    print(x)
甚至:

for x in [0, 1, 2, 3, 4, 101, 102, 6, 7, 8]:
    print(x)

我在这里添加它只是为了说明您的问题看起来并不是一个真正需要处理的问题…

在多个位置调用同一个函数没有什么错。事实上,它甚至不打印同一个变量
x
。不重复
print(x)
不会改变此代码的效率,因为这里有一个
if
/
else
。我只是想知道是否有比嵌套if循环更好的方法,它既有用又容易理解。这个问题的目的是学习