numpy的强大之处在于它允许您在单个操作中对整个数组进行操作。这称为矢量化或矢量化。当然,在幕后也有这样做的循环,但它们是用C语言编写的,并且经过高度优化,因此它们的运行速度比纯python所能达到的任何速度都要快。

所以当你用numpy编写一个函数时,你的首要目标是让numpy完成所有的工作。理想情况下,不应该有显式循环,而应该只有对整个数组同时操作的调用。幸运的是,numpy提供了所有必要的实用程序,以便在您的情况下实现这一点。

下面是一个循序渐进的指南:

首先,将输入转换为数组。数组在很多方面就像列表,不同之处在于可以对它们执行矢量化操作。如果您传入一个列表,大多数numpy函数会将它们的输入静默地转换成一个数组,但是我们会显式地这样做:def numpy_fun_list(list_, x):

arr = np.array(list_)

到目前为止还不错。所有进一步的操作将对arr而不是list_执行。

接下来你要过滤掉偶数元素。最简单的方法是屏蔽数组。当使用相同大小的布尔数组索引numpy数组时,它将选择布尔数组中为真的元素,并放弃其余元素。例如:>>> data = np.array([1, 2, 3, 4])

>>> mask = np.narray([True, False, False, True])

>>> data[mask]

array([1, 4])

所有条件运算符和比较运算符都创建这样的布尔数组。在您的例子中,您想要检查一个数字是否是奇数,所以您使用的是模块,就像在Python中一样,只是模块在数组的每个元素上操作:mask = (arr % 2) == 1

运算符==将模运算的结果转换为布尔掩码:arr = arr[mask]

现在我们需要将剩余的arr中的每个元素提升为x的幂。如您所料,这就是np.power所做的:arr = np.power(arr, x)

就这样。现在您可以返回或打印结果。实际上,有一点要注意:

原始函数将结果打印到屏幕上,但不返回。函数的返回值是隐式的None,这就是为什么您会看到所有这些none被打印出来。如果不返回它,那么对于计算列表就无能为力,这使得整个函数变得毫无用处。我的建议是用return list_替换print (list_)。

python如何提取奇数_如何在数组中只获取奇数并使用numpy for python将其平方?相关推荐

  1. python 吾爱破解_吾爱破解邀请码获取器|吾爱优惠码生成器 Python版_最火软件站...

    吾爱破解论坛是一个非常棒的资源交流论坛,里面有很多大神分享非常实用的各种工具,而且都是免费的,但是注册吾爱破解论坛需要邀请码,这款工具能够帮助用户生成常见的优惠码和激活码,让你轻松加入吾爱论坛的阵营. ...

  2. 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。

    输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分. 我们首先会想到常规方法:创建一个临时数组,遍历所给数组中的所有元素,将偶数 ...

  3. java 数组 取部分_在Java中只获取一部分数组?

    在Java中只获取一部分数组? 我在Java中有一个Integers数组,我只想使用它的一部分. 我知道在Python中你可以做类似这个数组[index:]的东西,它从索引中返回数组. 这样的事情在J ...

  4. 找出数组中只出现了一次的数字(Java)

    找出数组中只出现了一次的数字 题目 题目分析 方法1 方法2 方法3 代码实现 主方法 方法1 第一种:使用计数器的 第二种:不使用计数器 方法2 方法3 总结 题目 给定一个非空整数数组,除了某个元 ...

  5. 判断数组中各个元素是否为实数numpy.isreal()

    [小白从小学Python.C.Java] [计算机等考+500强证书+考研] [Python-数据分析] 判断数组中各个元素是否为实数 numpy.isreal() 选择题 以下程序的运行结果是? i ...

  6. 数组中只出现一次的数字

    一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 数字都出现两次,则异或肯定为0. 考虑下这个题目的简化版--数组中除一个数字只出现1次外,其它数字都成对出 ...

  7. 【剑指offer-Java版】40数组中只出现一次的数字

    数组中只出现一次的数字:输入一个数组,该数组中有两个数字只出现了一次,其他数字都出现了两次,求出这两个只出现了一次的数字 要求时间复杂度为O(n)空间复杂度为O(1) 考虑一个数组中只有一个数字仅仅出 ...

  8. 《剑指offer》-- 第一个只出现一次的字符、数组中只出现一次的数字、字符流中第一个不重复的字符、数组中重复的数字

    一.第一个只出现一次的字符: 1.题目: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写 ...

  9. 数组中只出现1次的2个数

    数组中只出现1次的2个数 如题所示: 思路 源代码如下: 如题所示: 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字 可以先考虑如果只有1个数字出现1次,其 ...

最新文章

  1. 开发者 AI 转型指南
  2. JavaScript的Cookie操作
  3. 【CyberSecurityLearning 11】OSI与TCP/IP协议簇以及Packet Tracer模拟器
  4. swi 指令能用在C语言吗,内嵌汇编指令的应用举例
  5. DVWA系列之24 high级别上传漏洞
  6. 丢失api-ms-win-crt-runtime-l1-1-0.dll
  7. mysql主从同步表结构_mysql主从同步的结构模式
  8. python读入txt数据,并转成矩阵
  9. Tomcat优化实践——网站运维
  10. svn使用 BCompare比较工具
  11. HTML中文字携带拼音的方法
  12. UIdemo 制作一个简单的iPhone相册
  13. Pytorch min函数详解
  14. 传奇世界最好的版本:
  15. python如何创建excel文件_python创建Excel文件数据的方法
  16. 链路聚合的手工模式和LACP模式
  17. 不懂优雅停机,搞挂了线上服务,咋办?
  18. 云顶之弈机器人怎么拉人_LOL云顶之弈10.16b机器人怎么玩_云顶之弈10.16b机器人装备站位_3DM网游...
  19. 安卓开发中遇到The application could not be installed: INSTALL_PARSE_FAILED_MANIFEST_MALFOR
  20. HCIP-H12-222练习题

热门文章

  1. 一文看懂海明校验码及其计算方法(详细总结)
  2. 001 2G3G4G的网速平常的各是多少
  3. 如何删除oracle 的用户及其数据
  4. 2003server计算机管理里面没有本地用户和组
  5. Python实现手机号归属地查询
  6. 链路聚合的定义、链路聚合的概念和基本术语、链路聚合的特点
  7. linux下设置MySQL密码
  8. Ubuntu下系统CPU/内存/GPU/硬盘监控查看指令
  9. 蓝鲸智云6.1软件单机部署安装教程
  10. 第三章习题3第4题--for循环输出俄文字母表