将列表从第二个元素迭代到最后一个元素

时间:2019-07-31 08:23:06

标签: python

我希望将列表从第二个元素循环到最后一个元素。如果可能的话,我希望对使用当前代码所做的改动很少,而且要有一个新的更好的代码。

 $(function() {
  $('input[name="dob"]').daterangepicker({
    singleDatePicker: true,
    showDropdowns: true,
    minYear: 1901,
    maxYear: 2099,
  }, function(start, end, label) {


  });
});

当前输出:

integer = [1,3,2,4]
for i in range(len(integer)):
    #for ii in range(i+1%len(integer)):
    print(integer[(i+1)%len(integer)])

预期输出:

3
2
4
1

7 个答案:

答案 0 :(得分:3)

  

range()函数

     

我们可以使用range()函数生成一个数字序列。   range(10)会生成0到9之间的数字(10个数字)。        我们还可以将开始,停止和步长定义为range(start,stop,step size)。步长默认为1   提供。        此函数未将所有值存储在内存中,因此效率低下。因此它会记住开始,停止,步长和   随时随地生成下一个号码。

您的代码应类似于:

integer = [1,3,2,4]
for i in range(1,len(integer)):
    print (integer[i])

输出:

3
2
4

答案 1 :(得分:2)

对于当前代码,只需进行最小的更改即可:

integer = [1,3,2,4]
for i in range(len(integer[1:])):
    print(integer[i])

您可以这样写:

l = [1,2,3,4]
for i, e in enumerate(l[1:]):
    # i is the index, e is the actual element
    print(e)

答案 2 :(得分:2)

range(start,end,step)作为参数。 因此,您可以编写for i in range(1,len(integer))

答案 3 :(得分:1)

在访问元素时缩小索引范围并移动索引:

 for i in range(len(integer) - 1):     
     print(integer[i+1])

使用2参数形式更容易:

 for i in range(1, len(integer)):     
     print(integer[i])

答案 4 :(得分:1)

实际上,这里不需要使用索引,因为Python循环允许直接迭代元素。然后,通过简单的列表切片,您可以获取所需范围:

integers = [1,3,2,4]
for integer in integers[1:]:
    print(integer)

或者,使用joinmap(转换为字符串)来制作一个很好的衬里:

print("\n".join(map(str, integers[1:])))

两者都给出:

3
2
4

答案 5 :(得分:1)

您可以简单地分割列表。

for i in integer[1:]:
    print(i)

答案 6 :(得分:0)

如果您想一行完成代码,我可以看到您的代码已被其他人更正:

[print(i) for i in integer[1:]]