第1关:Numpy 创建数组

本文介绍了如何在Python中使用Numpy库创建多维数组,通过`arange`方法生成一维数组,再利用`array`方法组合形成所需维度的数组。编程要求部分给出了创建m*n数组的函数实现,以及测试示例.
摘要由CSDN通过智能技术生成

任务描述

本关任务:使用 Numpy 创建一个多维数组。

相关知识

为了完成本关任务,你需要掌握:创建数组。

创建数组

Python 中创建数组有许多的方法,这里我们使用 Numpy 中的 arange 方法快速的新建一个数组:

  1. import numpy as np
  2. a = np.arange(5)

其中 import numpy as np 是指引入 Numpy 这个库,并取别名为 np。之所以取别名,是为了代码编写的方便。a=np.arange(5) 是指将数值 0 1 2 3 4 赋值给 a 这个变量,这样我们就快速的创建了一个一维数组。

创建多维数组的方法是:

  1. import numpy as np
  2. b = np.array([np.arange(6),np.arange(6)])

这里,我们使用两个 arange 方法,创建了两个 1x6 的一维数组,然后使用 numpyarray 方法,将两个一维数组组合成一个 2x6 的二维数组。从而达到了创建多维数组的目的。

numpy 创建的数组可以直接复制,具体代码示例如下:

  1. import numpy as np
  2. x = [y for y in range(6)]
  3. b=np.array([x]*4)

该段代码会创建一个 4*6 的数组。 

编程要求

本关的任务是,补全右侧编辑器 Begin-End 内的代码,以实现创建一个 m*n 的多维数组的功能。具体要求如下:

  • 函数接受两个参数,然后创建与之对应的的多维数组;

  • 本关的测试样例参见下文。

本关设计的代码文件 cnmda.py 的代码框架如下:

  1. # 引入numpy库
  2. import numpy as np
  3. # 定义cnmda函数
  4. def cnmda(m,n):
  5. '''
  6. 创建numpy数组
  7. 参数:
  8. m:第一维的长度
  9. n: 第二维的长度
  10. 返回值:
  11. ret: 一个numpy数组
  12. '''
  13. ret = 0
  14. # 请在此添加创建多维数组的代码并赋值给ret
  15. #********** Begin *********#
  16. #********** End **********#
  17. return ret

测试说明

本关的测试过程如下:

  • 平台运行 step1/cnmdatest.py 文件,并以标准输入方式提供测试输入;

  • cnmdatest.py 文件调用 cnmda 中的 cnmda 方法,平台获取 cnmdatest.py 的输出,然后将其与预期输出作对比,如果一致,则测试通过;否则测试失败。

以下是平台对 step1/cnmdatest.py 的测试样例:

测试输入: 5 8

预期输出: (5,8)

测试输入: 4 9

预期输出: (4,9)

代码:

 

# 引入numpy库
import numpy as np
# 定义cnmda函数
def cnmda(m,n):
    '''
    创建numpy数组
    参数:
           m:第一维的长度
           n: 第二维的长度
    返回值:
        ret: 一个numpy数组
    '''
    
    ret = 0
    
    # 请在此添加创建多维数组的代码并赋值给ret
    #********** Begin *********#
    b=np.arange(n);
    ret = np.array([b]*m)
    #********** End **********#
    
    return ret

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jerry&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值