当我们给定 m 和 n 正整数时,如何生成一个以 1 和 0 为边界的矩阵。
Input:
4,5
Output
[1, 1, 1, 1, 1]
[1, 0, 0, 0, 1]
[1, 0, 0, 0, 1]
[1, 1, 1, 1, 1]
我使用了这段代码。是否有其他方法来获取输出
import numpy as np
a=np.ones((m,n),dtype="int")
a[1:-1,1:-1]=0
最佳答案
另一个类似的解决方案,但我更喜欢问题中建议的解决方案:
a=np.zeros((m,n),dtype="int")
a[[0,-1]] = 1
a[:,[0,-1]] = 1
或者根据 @Paul 在评论中的建议:
a[::m-1] = a[:,::n-1] = 1
编辑:根据下面OP的评论:
数组列表:
a = [x for x in a]
列表数组:
b = np.empty(m,dtype=object)
b[:] = a.tolist()
关于python - 生成包含 m 和 n 整数的围栏矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62689809/