2012-01-15 85 views
0
for i in list: 
    j = i + 1 
    print i - j 

這將打印出-1次我想要做的list指數問題

長度是打印值i,並在列表中的下一之間的差異。

我清楚嗎?

+4

不完全是,其實。 – 2012-01-15 00:28:18

回答

5
for i in list: 

i結合到list的元素,而不是它的索引。您可能意味着

for i in xrange(len(list)): 

for i, _ in enumerate(list): 

然後在指數ilist[i]獲得元素。

(請不要打電話列表list;這是一個Python的內置函數的名稱)

4

與JavaScript的,迭代Python中的序列產生的元素,而不是指標。

for i, j in zip(L, L[1:]): 
    print j - i 
1

嘗試這種情況:

lst = [1, 2, 3, 4] 

for i in xrange(1, len(lst)): 
    print lst[i-1] - lst[i] 

注意,在該行for i in listi元件的list,不是索引。在上面的代碼中,i確實是一個索引。此外,這是一個壞主意調用變量list(Python使用該名稱別的東西)。我將它重命名爲lst

+0

對於i在x範圍(1,LEN(LST)): 打印LST [I-1] - LST [I] 即我究竟如何使用larsmans答案。 – AWE 2012-01-15 00:46:43