我需要制作一个android模式或只是一个3x3矩阵的模式。模式为[8, 7, 6, 5, 4, 3, 2, 0, 1]
,我需要将其绘制在3x3矩阵中。模式中的第一个条目是起始点,它连接到行中的第二个条目。结果必须如下:
8, 9, 7
6, 5, 4
3, 2, 1
pattern = [8, 7, 6, 5, 4, 3, 2, 0, 1]
matrix = [0,0,0,0,0,0,0,0,0]
lst = ([matrix[i:i + 3] for i in range(0, len(matrix), 3)])
for i in lst:
print(i)
for char in pattern:
matrix[char]=char
答案 0 :(得分:0)
你的意思是这样的:
def print_pattern(pattern, cols=3):
for ii, pp in enumerate(pattern):
if ii % cols == 0:
print("")
print(pp),
然后您可以将此功能称为
pattern = [8, 7, 6, 5, 4, 3, 2, 0, 1]
print_pattern(pattern)
这导致以下输出:
8 7 6
5 4 3
2 0 1
如果您想以相反的顺序打印图案,您可以传递一个反转的图案列表,例如:
print_pattern(reversed(pattern))
提供以下输出:
1 0 2
3 4 5
6 7 8
答案 1 :(得分:-1)
此函数接受整数n
和可迭代。它从可迭代的
n
的元组列表
def mat(n, it):
return list(zip(*[iter(it)]*n))