我想将3 x 3
列表的行和列索引存储在列表中。它应该如下所示:
rc = [(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)]
如何使用Python中的列表理解来获得此列表?
有些人认为列表理解中的多个for
循环是糟糕的风格。改为使用itertools.product()
:
from itertools import product
list(product(range(3), repeat=2))
该输出:
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
怎么样:
[(x, y) for x in range(3) for y in range(3)]
如果我理解正确,并且输入是A,那么B可以输出如下:
A = [[1,2,3],[4,5,6],[7,8,9]]
B =[(A[i], A[j]) for i in range(3) for j in range(3)]