如何在for循环中从元素滚动到另一个元素?

Seb*_*a92 2 python for-loop

我想将sys.argv从第二个滚动到倒数第二个参数.为什么它不起作用?

for arg in sys.argv[1: :len(sys.argv)-1] :
    print arg  
Run Code Online (Sandbox Code Playgroud)

Ars*_*nko 6

你的代码中有一个错误:你不应该放两个冒号,而只放一个冒号.以下是它的工作原理:

  • 为了排除n个 第一个元素,语法是[n:].

  • 为了排除n个 最后元素,您不需要计算数组中的元素数.相反,您使用:[:-n]语法.

  • 如果要排除前x个元素y个元素,可以将两者结合使用:[x:y].

在你的情况下,为了获得没有第一个和最后一个参数的数组,你可以简单地做:

sys.argv[1:-1]
Run Code Online (Sandbox Code Playgroud)

像这样:

for arg in sys.argv[1:-1]:
    print arg
Run Code Online (Sandbox Code Playgroud)