元组元素列表中的成对迭代

Pairwise iteration in list of tuples element

在 python 中,我想通过元组 (lot) 元素列表进行成对迭代。我的拍品如下图:

lot = [('490001', 'A-ARM1'),
       ('490001', 'A-ARM2')]

我想创建一个迭代变量循环遍历每个元组的第二个元素,它将匹配:

iter: A-, AR, M1    (cycle 1)
iter: A-, AR, M2    (cycle 2)

我在堆栈上找到了这个 (Iterate over a string 2 (or n) characters at a time in Python)。

不幸的是,我无法在我的示例中使用它。有人能给我一个正确的方向吗?

如果嵌套循环是可以接受的(根据您的评论),那么我认为您可以使用 the grouper recipe from more-itertools(或 copy-paste 在您的代码库中使用该函数):

from more_itertools import grouper


lot = [('490001', 'A-ARM1'),
       ('490001', 'A-ARM2')]

# Tuple-unpacking w/underscore is a convention to indicate we don't
# care about the first element, only the second one
for _, elem in lot: 
   for i, j in grouper(elem, 2):
       print(i + j)

# Output
# A-
# AR
# M1
# A-
# AR
# M2