我正在尝试在 Python 中制作一个“仅偶数”的十六进制网格。
预期的输出是
[[(0,0), (2,0), (4,0), (6,0)],
[(1,1), (3,1), (5,1), (7,1)],
[(0,2), (2,2), (4,2), (6,2)],
[(1,3), (3,3), (5,3), (7,3)]]
我正在修补这个:
>>> [[(x,y) for x in range(7)[::2]] for y in range(4)]
[[(0,0), (2,0), (4,0), (6,0)],
[(0,1), (2,1), (4,1), (6,1)],
[(0,2), (2,2), (4,2), (6,2)],
[(0,3), (2,3), (4,3), (6,3)]]
但是我从那里去的下一个地方抛出了一个异常:
>>> [[(x,y) for x in xrange(y % 2, 6 + (y % 2))[::2]] for y in range(4)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence index must be integer, not 'slice'