【发布时间】:2026-01-27 11:25:02
【问题描述】:
我正在尝试将计数连接到两个迭代器的乘积,如下所示:
import itertools
it1 = itertools.product(['A', 'B'], [1, 2, 3])
it2 = itertools.count(1)
list(zip(it1, it2))
这会生成输出
[(('A', 1), 1),
(('A', 2), 2),
(('A', 3), 3),
(('B', 1), 4),
(('B', 2), 5),
(('B', 3), 6)]
但是,我想要的是
[('A', 1, 1),
('A', 2, 2),
('A', 3, 3),
('B', 1, 4),
('B', 2, 5),
('B', 3, 6)]
【问题讨论】:
-
也可以枚举如下
[(*t, i) for i, t in enumerate(it.product("AB", [1, 2, 3]), 1)]。
标签: python python-3.x iterator