“对于”循环Python代码 - 这看起来是正确/可接受的吗?

时间:2017-07-08 20:22:56

标签: python loops for-loop

我想创建一个“for”循环(在Python 2中)。我有一个障碍列表和每个障碍,如果它们是真的(即存在并出现在列表中)我想将它们附加到一个名为“tests”的列表中并调用一个名为“obstacle_detection”的函数(它处理什么当检测到障碍物时发生)(我稍后使用“测试”)。这是一个更大的程序的一部分,我不能确定它是否正常工作,所以我想知道是否有人能够告诉我它是否有意义?或者告诉我一个更好的方法可能会这样做?

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

counter = 0

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

1 个答案:

答案 0 :(得分:2)

您的代码可能有意义,具体取决于您定义obstaclesobstacle_detection的方式。

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

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

它会自动创建一个新列表,其长度与obstacles相同,并为每个obstacle_detection填充obstacle个值。