Python 工具类与工具函数 —— pair

def pair(lis):
    n = len(lis)
    for i in range(n):
        for j in range(i+1, n):
            yield lis[i], lis[j]

这样在调用端,访问这些可迭代对象时,使用一个一层循环即可(也即 pair 实现了对二层循环的顺式访问):

matrix = [
    ['A', 'A', 'A', 'A', 'A', 'A'],
    ['B', 'C', 'D', 'E', 'F', 'G']
]

for line_a, line_b in pair(matrix):
    for i, j in range(len(line_a)):
        shape = [line_a[i], line_a[j], line_b[i], line_b[j]]
        ...
原文地址:https://www.cnblogs.com/mtcnn/p/9423517.html