第1关:Numpy创建数组

本教程介绍了如何使用Python的Numpy库创建多维数组。通过`arange`方法可以快速创建一维数组,而通过将多个一维数组用`numpy.array`组合,可以构建二维数组。此外,还展示了如何复制Numpy数组以及如何编写函数来根据给定尺寸创建多维数组。
部署运行你感兴趣的模型镜像

任务描述
本关的小目标是,使用 Numpy 创建一个多维数组。
相关知识
在 Python 中创建数组有许多的方法,这里我们使用 Numpy 中的arange方法快速的新建一个数组:

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

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

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

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

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

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

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

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


本关的测试样例参见下文。
本关设计的代码文件cnmda.py的代码框架如下:

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

测试说明
本关的测试过程如下:

  1. 平台运行step1/cnmdatest.py文件,并以标准输入方式提供测试输入;
  2. 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 *********#
    M = np.arange(n)
    ret = np.array([M]*m)
#     #********** End **********#
    
    return ret

您可能感兴趣的与本文相关的镜像

Linly-Talker

Linly-Talker

AI应用

Linly-Talker是一款创新的数字人对话系统,它融合了最新的人工智能技术,包括大型语言模型(LLM)、自动语音识别(ASR)、文本到语音转换(TTS)和语音克隆技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

-阿呆-

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

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

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

打赏作者

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

抵扣说明:

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

余额充值