2012-03-10 12 views
1

は大雑把に、私はこのスニペットのために、よりエレガントな代替を探していますスピーキング:生成リストから順次エレメントを選択する方法は?

# my_list = range(6) # example list 
my_list = ["this", "is", "an", "example", "list"] 
max = len(my_list) 
for i, elem in enumerate(my_list, start=1): 
    if i < max: 
     print elem, my_list[i] 

this is 
is an 
an example 
example list 

は、そのためのいくつかの組み込みはありますか?

編集:私は、混乱を避けるために任意の反復可能性の表現としてrange(6)を表明したと言っていたはずです。目標は、上記の結果によって描かれた反復可能なペアごとに反復することでした。

# x = range(6) 
x = ["this", "is", "an", "example", "list"] 

for prv, nxt in zip(x, x[1:]): 
    print prv, nxt 

答えて

6

私は通常これを行います。

+0

これはすばらしいです、ありがとう! 'max'の必要性を避けました。 – Aufwind

+0

しかし、 'range'はジェネレータであるため、これは' python3'では動作しません。 – strcat

+0

私は 'iterableの例として' range(6) 'を書きました。私はもっ​​と一般的なものを選んだはずだった。 – Aufwind

1

は何の組み込みはありませんが、itertoolsモジュールのドキュメントは、同じことをpairwise関数の定義が含まれています