Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/330.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代码-这看起来正确/可接受吗?_Python_Loops_For Loop - Fatal编程技术网

&引用;至于;循环Python代码-这看起来正确/可接受吗?

&引用;至于;循环Python代码-这看起来正确/可接受吗?,python,loops,for-loop,Python,Loops,For Loop,我想创建一个“for”循环(在Python 2中)。我有一个障碍物列表,对于每个障碍物,如果它们是真的(即存在并出现在列表中),我想将它们附加到一个名为“测试”的列表中,并调用一个名为“障碍物检测”的函数(该函数处理检测到障碍物时发生的情况)(稍后我使用“测试”)。这是一个更大的项目的一部分,我不知道它是否有效,所以我想知道是否有人能告诉我它是否有意义?或者给我一个更好的方法 obstacles = [obstacle, obstacle1, obstacle2] tests = [] cou

我想创建一个“for”循环(在Python 2中)。我有一个障碍物列表,对于每个障碍物,如果它们是真的(即存在并出现在列表中),我想将它们附加到一个名为“测试”的列表中,并调用一个名为“障碍物检测”的函数(该函数处理检测到障碍物时发生的情况)(稍后我使用“测试”)。这是一个更大的项目的一部分,我不知道它是否有效,所以我想知道是否有人能告诉我它是否有意义?或者给我一个更好的方法

obstacles = [obstacle, obstacle1, obstacle2]
tests = []

counter = 0

for obstacle in obstacles:
    tests.append(0)
    tests[counter] = obstacle_detection(obstacle, pos)
    counter = counter + 1

您的代码可能有意义,这取决于您如何定义
障碍物
障碍物检测

实际上,您可以这样编写代码:

tests = [obstacle_detection(obstacle, pos) for obstacle in obstacles]

它会自动创建一个新列表,其长度与
障碍物
相同,并为每个
障碍物
填充
障碍物检测
值,具体取决于您如何定义
障碍物
障碍物检测

实际上,您可以这样编写代码:

tests = [obstacle_detection(obstacle, pos) for obstacle in obstacles]

它会自动创建一个新列表,长度与
障碍物
相同,并为每个
障碍物
填充
障碍物检测值
您可以通过使用另一个for循环打印阵列内容轻松测试它是否工作。您看到了吗?这可能更适合这个问题。@JacobKrall啊,谢谢你,我不知道这个@Anna.H您想在
测试
列表中附加
True
计数器的值吗?您一直在追加0:
测试。使用
枚举
追加(0)
,将缩短您的代码。通过使用另一个for循环打印数组的内容,您可以轻松测试它是否工作。您看到了吗?这可能更适合这个问题。@JacobKrall啊,谢谢你,我不知道这个@Anna.H您想在
测试
列表中附加
True
计数器的值吗?您一直在追加0:
测试。使用
枚举
追加(0)
,将缩短您的代码。