簡體   English   中英

如果循環-索引超出范圍

[英]If Loop - Index out of range

這是代碼

for i in np.arange(len(tupel)):
    if tupel[i][0]+1 == tupel[i+1][0] and tupel[i][1] != 0:
        pre.append((tupel[i][1]))
    else:
        means.append(pre)
        pre = []

pre和means只是兩個列表。 我還有另一個清單:“ tupel”。 看起來像

[(0, 10), (1, 16), (2, 0), (3, 0), (4, 0), (5, 0), (6, 0), (7, 0), (8, 11), (9, 18), (10, 4), (11, 0), (12, 0), (13, 0), (14, 0), (15, 0), (16, 0), (17, 0), (18, 12), (19, 16), (20, 1)]

所有第二個元素為零的小節都應使用“!= 0”自變量切斷。 如您所見,非零值(第二個元素)以一定間隔存在。 現在,我要計算的是以下各項的第二元素之和的平均值。

例如

(0,10),(1,16)具有非零的第二元素。 我想要第一元素和第二元素的均值。 將是:(1,26/2)。

(2,0),(3,0),(4,0),..應該被切除。 因為第二個元素為零。 (8,11),(9,18),(10,4)應為:(27/3,33/3)。

為了檢查第二個元素為非零的以下項是否為“下一個整數”,我創建了循環(上面的代碼)。 但是我得到了錯誤:

IndexError: list index out of range

如何在不超出索引范圍的情況下檢查列表中的以下項目?

提前致謝。

問題是[i+1] -您使用的索引out of range 您需要np.arange(len(tupel)-1)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM