一定要使用来自Stackoverflow评论中的Scipy插值如何将3x3矩阵调整为5x5?的信息。
但我想试试,这是我的结果:
可能是有史以来最丑陋的方法:
>>> import pprint
>>> a = [[85, 77, 99],
... [11, 22, 33],
... [44, 55, 66]]
>>>
>>> def transform(n,matrix):
... return [item for sublist in [[[item for sublist in [[element]*n for element in row] for item in sublist] for _ in range(n)] for row in matrix] for item in sublist]
...
>>> pprint.pprint(transform(3,a))
[[85, 85, 85, 77, 77, 77, 99, 99, 99],
[85, 85, 85, 77, 77, 77, 99, 99, 99],
[85, 85, 85, 77, 77, 77, 99, 99, 99],
[11, 11, 11, 22, 22, 22, 33, 33, 33],
[11, 11, 11, 22, 22, 22, 33, 33, 33],
[11, 11, 11, 22, 22, 22, 33, 33, 33],
[44, 44, 44, 55, 55, 55, 66, 66, 66],
[44, 44, 44, 55, 55, 55, 66, 66, 66],
[44, 44, 44, 55, 55, 55, 66, 66, 66]]
>>> pprint.pprint(transform(4,a))
[[85, 85, 85, 85, 77, 77, 77, 77, 99, 99, 99, 99],
[85, 85, 85, 85, 77, 77, 77, 77, 99, 99, 99, 99],
[85, 85, 85, 85, 77, 77, 77, 77, 99, 99, 99, 99],
[85, 85, 85, 85, 77, 77, 77, 77, 99, 99, 99, 99],
[11, 11, 11, 11, 22, 22, 22, 22, 33, 33, 33, 33],
[11, 11, 11, 11, 22, 22, 22, 22, 33, 33, 33, 33],
[11, 11, 11, 11, 22, 22, 22, 22, 33, 33, 33, 33],
[11, 11, 11, 11, 22, 22, 22, 22, 33, 33, 33, 33],
[44, 44, 44, 44, 55, 55, 55, 55, 66, 66, 66, 66],
[44, 44, 44, 44, 55, 55, 55, 55, 66, 66, 66, 66],
[44, 44, 44, 44, 55, 55, 55, 55, 66, 66, 66, 66],
[44, 44, 44, 44, 55, 55, 55, 55, 66, 66, 66, 66]]
>>> pprint.pprint(transform(5,a))
[[85, 85, 85, 85, 85, 77, 77, 77, 77, 77, 99, 99, 99, 99, 99],
[85, 85, 85, 85, 85, 77, 77, 77, 77, 77, 99, 99, 99, 99, 99],
[85, 85, 85, 85, 85, 77, 77, 77, 77, 77, 99, 99, 99, 99, 99],
[85, 85, 85, 85, 85, 77, 77, 77, 77, 77, 99, 99, 99, 99, 99],
[85, 85, 85, 85, 85, 77, 77, 77, 77, 77, 99, 99, 99, 99, 99],
[11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33],
[11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33],
[11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33],
[11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33],
[11, 11, 11, 11, 11, 22, 22, 22, 22, 22, 33, 33, 33, 33, 33],
[44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66],
[44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66],
[44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66],
[44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66],
[44, 44, 44, 44, 44, 55, 55, 55, 55, 55, 66, 66, 66, 66, 66]]
>>>