首页 > 解决方案 > 迭代列表中的每两个元素以执行列表 python 的某些操作

问题描述

我有一个名为的列表newList,在列表中还有另一个带有 JSON 代码的信息列表。我想迭代中的每两个元素newList来为这两个元素做一些事情。

例如:如果我的newList长度是 8,我希望能够执行一个 for 循环或访问0and1元素,对这两个元素中的信息执行某些操作,然后转到1and2元素并使用这些元素执行某些操作。

我的代码:

data = np.arange(len(newList))
 def pairwise(iterable):
    a, b = tee(iterable)
    next(b, None)
    return zip(a, b)

  for v, w in pairwise(data):
    print(v, w)

打印结果:

0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15

我在找什么:

0 1
2 3
4 5
6 7
8 9
10 11
12 13
14 15 

标签: pythonlistloops

解决方案


您可以创建一个迭代器,然后自行压缩:

def pairwise(iterable):
    return zip(*[iter(iterable)]*2)

这类似于:

def pairwise(iterable):
    i = iter(iterable)
    return zip(i, i)

推荐阅读