2016-07-01 5 views
0

で2つの反復位置をアクセスするループのために私は次のコードを持っている:は、アレイ

someList = ['a', 'b', 'c', 'd', 'e', 'f'] 

for i,j in enumerate(someList) step 2: 
    print('%s, %s' % (someList[i], someList[i+1])) 

を私の質問は、ある配列の反復処理を簡素化する方法はenumerate一部を避け、まだアクセスするためにあり一度に2つの変数?

答えて

5
for x, y in zip(someList, someList[1:]): 
    print x, y 

標準的な技術。

1

あなたは、2つの反復子を作成してスライスして、リストの要素をコピーする必要がなくなり、その後第二とジップの上に次の呼び出すことができます。

someList = ['a', 'b', 'c', 'd', 'e', 'f'] 

it1, it2 = iter(someList), iter(someList) 
next(it2) 

for a,b in zip(it1, it2): 
    print(a, b)