添加到列表变量的条件

时间:2015-01-28 18:00:13

标签: python list loops

下面你可以看到序列命令,它只是使用特殊的内置函数将dirs列表中的元素添加到其他列表new

new = Trajectory(os.path.join(path, dirs[0]))
new.addFile(os.path.join(path, dirs[1]))
new.addFile(os.path.join(path, dirs[2]))
new.addFile(os.path.join(path, dirs[3]))

我需要简化此脚本,将所有new.addFile放在一个循环中,如:

for element in dirs:
 new.addFile(os.path.join(path, element)

问题:如何添加一些排除dirs[0]的规则,以便在第一步使用此循环添加?在我的情况下,dirs[0]已经始终存在于new中,因此我无需在循环第一个列表时再次添加它。

3 个答案:

答案 0 :(得分:3)

您只需slice dirs列表即可跳过第一项:

for element in dirs[1:]:

演示:

>>> lst = [1, 2, 3, 4]
>>> for i in lst[1:]:
...     i
...
2
3
4
>>>

答案 1 :(得分:1)

这非常简单:

for element in dirs[1:]:
    ...

答案 2 :(得分:1)

试试这个:

for i in range(1, len(dirs)):
    new.addFile(os.path.join(path, dirs[i])

这只是在1而不是0开始循环。