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

は、これがプリントアウトされます-1私がやりたいことlistインデックスの問題

の倍の長さは、値I、リストの次の違いを印刷することです。

私はクリアですか?

+4

実際はそうではありません。 –

答えて

5
for i in list: 

listの要素にiを結合し、ないその索引。あなたはlist[i]とインデックスiにある要素を取得後

for i in xrange(len(list)): 

または

for i, _ in enumerate(list): 

を意味している場合があります。

は(そして、リストlistを呼び出さないでください;それはPythonの組み込み関数の名前です)のJavaScriptとは異なり

4

、Pythonでシーケンスを反復処理要素ではなく、インデックスを生成します。

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

これを試してみてください:ラインfor i in listで、i要素list、ない指標であることを

lst = [1, 2, 3, 4] 

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

お知らせ。上記のコードでは、実際にはiがインデックスです。また、変数listを呼び出すのは悪い考えです(Pythonはその名前を他のものに使用しています)。私はそれをlstに改名しました。

+0

for xrange(1、len(lst)): lst [i-1] - lst [i] これはまさに私がlarsmansの答えを使用した方法です。 – AWE

関連する問題