I am to create an array using only NumPy tools. There it is:

我只使用NumPy工具创建一个数组。它是:

[[2 2 2 2 2]
 [2 1 1 1 2]
 [2 1 1 1 2]
 [2 1 1 1 2]
 [2 2 2 2 2]]

That is my code:

那是我的代码:

import numpy as np
x = np.ones((5, 5), dtype = int)
x[0, :] = 2
x[4, :] = 2
x[:, 0] = 2
x[:, 4] = 2
print(x)

I wonder if it is possible to create an array like this in an easier (shorter) way?

我想知道是否有可能以更简单(更短)的方式创建这样的数组?

3 个解决方案

#1


4

Approach #1

方法#1

Initialize with 2s (edge values) and assign 1s in middle portion -

用2s(边缘值)初始化并在中间部分分配1s -

x = 2*np.ones((5, 5), dtype = int)
x[1:-1,1:-1] = 1

Approach #2

方法#2

Another short way -

另一个简短方法 -

x = np.ones((5, 5), dtype = int)
x[:,[0,-1]] = x[[0,-1]] = 2

Approach #3

方法#3

One-liner with 2D convolution -

带2D卷积的单线程 -

In [302]: from scipy.signal import convolve2d

In [303]: (convolve2d(np.ones((5,5)), np.ones((3,3)),'same')<9)+1
Out[303]: 
array([[2, 2, 2, 2, 2],
       [2, 1, 1, 1, 2],
       [2, 1, 1, 1, 2],
       [2, 1, 1, 1, 2],
       [2, 2, 2, 2, 2]])

更多相关文章

  1. python笔记7:接口实现方法
  2. 【Python】Python3 字典 copy()方法
  3. jieba(结巴)Python分词器加载到Eclipse方法
  4. python,os模块的常用方法
  5. Python语言的特点、程序设计基本方法
  6. Pandas 文本数据方法 findall( )
  7. 将muilti维Json数组解析为Python
  8. python中函数参数传递的几种方法
  9. TensorFlow数据集(一)——数据集的基本使用方法

随机推荐

  1. php mail函数一段好的代码
  2. 使用“.html”链接到.html.php文件 - 这
  3. 在PHP中将PDF文档转换为预览图像,而无需安
  4. PHP开发视频教程
  5. php CI框架nginx 配置
  6. C#,PHP对应加密函数
  7. centos7下的lnmp环境安装
  8. phpmyadmin的乱码问题
  9. 用PHP计算字符串中元音的简单方法?
  10. 我无法定义我的错误