如何从列表中选择顺序元素?

Auf*_*ind 1 python list

粗略地说,我正在为这个片段寻找更优雅的替代方案:

# 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]
Run Code Online (Sandbox Code Playgroud)

产生:

this is
is an
an example
example list
Run Code Online (Sandbox Code Playgroud)

有没有内置的?

编辑:我应该说,我range(6)作为任何迭代的代表,以避免混淆.目标是按上面的结果迭代迭代成对的迭代.

Ava*_*ris 6

我经常这样做:

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

for prv, nxt in zip(x, x[1:]):
    print prv, nxt
Run Code Online (Sandbox Code Playgroud)

  • @strcat:实际上,范围*在Python 3.2中的确如此工作(虽然不是3.1) - 范围(6)[1:] ==范围(1,6) - 但我同意这是一个特例. (2认同)