我希望将列表从第二个元素循环到最后一个元素。如果可能的话,我希望对使用当前代码所做的改动很少,而且要有一个新的更好的代码。
$(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
答案 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)
或者,使用join
和map
(转换为字符串)来制作一个很好的衬里:
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:]]