python - 有没有一种 Pythonic 方法可以一次遍历两个列表一个元素?
问题描述
我有两个列表:[1, 2, 3] 和 [10, 20, 30]。有没有办法在每个步骤中迭代移动每个列表中的一个元素?例如 (1, 10) (1, 20) (2, 20) (2, 30) (3, 30) 我知道 zip 在每一步中都会在两个列表中移动一个元素,但这不是我想要的
解决方案
是否如您所愿:
def zip2(l1, l2):
for i, a in enumerate(l1):
for b in l2[i:i+2]:
yield (a, b)
>>> list(zip2(l1, l2))
[(1, 10), (1, 20), (2, 20), (2, 30), (3, 30)]
推荐阅读
- java - 是什么原因导致 ”
使用 Luke 在 Lucene 中没有位置数据的索引”错误? - sql - ColdFusion - 需要遍历文件夹以从 SQL 查询中查找特定文件并将它们复制或压缩到临时文件夹
- php - 使用 CakePHP 3.7 测试路由中间件
- hyperledger-fabric - Hyperledger Fabric - 新的 MSP 隶属关系错误 - 访问被拒绝:频道 [] creator org []
- java - DocumentBuilderFactory 无法设置功能 FEATURE_SECURE_PROCESSING
- javascript - 从选项下拉存储状态以将其传递给父组件
- kubernetes - 从 Docker Swarm 迁移:向世界公开我的 Kubernetes 服务(在知名端口上)
- c++ - 如何设置 CMake 以使用 clang 为 Windows 上嵌入的 ARM 进行交叉编译?
- ruby-on-rails - 如果值为空白 ruby 4 未定义方法“first_name”,则获取要显示的文本
- jquery - 仅在文档准备好时加载视频,加载时播放