python - 迭代列表中的每两个元素以执行列表 python 的某些操作
问题描述
我有一个名为的列表newList
,在列表中还有另一个带有 JSON 代码的信息列表。我想迭代中的每两个元素newList
来为这两个元素做一些事情。
例如:如果我的newList
长度是 8,我希望能够执行一个 for 循环或访问0
and1
元素,对这两个元素中的信息执行某些操作,然后转到1
and2
元素并使用这些元素执行某些操作。
我的代码:
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
解决方案
您可以创建一个迭代器,然后自行压缩:
def pairwise(iterable):
return zip(*[iter(iterable)]*2)
这类似于:
def pairwise(iterable):
i = iter(iterable)
return zip(i, i)
推荐阅读
- html - 当输入是一个很长的不间断单词时,CSS text-indent 在 IE 中不起作用
- r - 在 keras r 中训练模型的最佳方法
- php - How to combine 2 arrays that have the same index and value with php?
- android - 无法将 RelativeLayout 转换为 ConstraintLayout
- amazon-sqs - 无服务器 SQS 消费者跳过消息
- powershell - 如何将结果导出到 .csv?ServerName 作为第一列,online/offline 作为第二列
- java - 如何在此代码中超越语法错误?
- ruby-on-rails - 在一个表中保存多个姓名和电子邮件
- batch-file - 如何在不列出命令的情况下执行命令?
- sql - SQL如何从列表中选择包含所有汽车的“id_owner”