Python上的循环:索引扩展

2024-04-27 00:44:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我刚刚开始学习python,遇到了以下问题:

for i in range(len(A)):
    A1 = (A['wap'][i]-A['wap'][i+1]) + (A['wap'][i+1])

问题是当索引位于最后一个元素时,它将尝试获取下一个不存在的元素。我不知道怎么修。你知道吗


Tags: in元素forlena1rangewap
3条回答

你没有提到,当它是最后一个元素时,你要加或减什么。如果不在最后一个元素中加上或减去任何东西,那么使用if语句就很容易得逞

for i in range(len(A)):

if (i<len(A)):
    A1 =  (A[i]-A['wap'][i+1]) + (A['wap'][i+1])
else  
    A=A['wap'][i]

如果要循环返回并将非常快的元素添加或减去最后一个元素,请使用:

for i in range(len(A)):

    A1 =  (A['wap'][i]-A['wap'][i%len(A)+1]) + (A['wap'][i%len(A)+1])

这将在最后一个元素上加上或减去一个['wap'][0]。你知道吗

但是不应该对范围(len(A)-1)中的i使用,因为这样总是忽略数组的最后一个元素。你知道吗

您可以这样做来限制for循环的范围:

for i in range(len(A) - 1):
    A1 = (A['wap'][i]-A['wap'][i+1]) + (A['wap'][i+1])

你可以试试这个。它将使用从0到最后一个-1的列表元素

for i in range(0,len(A)-1):
    A1 = (A['wap'][i]-A['wap'][i+1]) + (A['wap'][i+1])

相关问题 更多 >