Python扩展库numpy中的布尔运算

首先解答上一篇文章Win10系统配置Python3.6+OpenGL环境详细步骤中的问题。该问题的答案为[2, 2],要点在于列表对象的方法index()默认是返回指定元素在列表中首次出现的下标,元组和字符串的index()方法也具有相同的用法。

在该文问题中,如果想要获取列表中3的所有位置,列表推导式应写为[i for i,v in enumerate(x) if v==3]。

----------分割线---------

numpy支持一个数组与一个标量之间(或两个等长数组)之间的关系运算,得到一个新数组,新数组中每个元素为True或False,表示原数组中所有元素与该标量(或原来两个数组中对应元素)进行关系运算的结果。当使用仅含有True或False的numpy数组作为下标访问数组元素时,可以将False对应的元素过滤掉,只保留True对应的。

# 包含10个随机数的数组

>>> import numpy as np

>>> x = np.random.rand(10)

>>> x

array([ 0.56707504, 0.07527513, 0.0149213 , 0.49157657, 0.75404095,

0.40330683, 0.90158037, 0.36465894, 0.37620859, 0.62250594])

# 比较数组中每个元素值是否大于0.5

>>> x > 0.5

array([ True, False, False, False, True, False, True, False, False, True], dtype=bool)

# 获取数组中大于0.5的元素,可用于检测和过滤异常值

>>> x[x>0.5]

array([ 0.56707504, 0.75404095, 0.90158037, 0.62250594])

>>> x < 0.5

array([False, True, True, True, False, True, False, True, True, False], dtype=bool)

# 测试是否全部元素都小于1

>>> np.all(x<1)

True

# 是否存在等价于True的元素

>>> np.any([1,2,3,4])

True

>>> np.any([0])

False

>>> a = np.array([1, 2, 3])

>>> b = np.array([3, 2, 1])

# 两个数组中对应位置上的元素比较

>>> a > b

array([False, False, True], dtype=bool)

>>> a[a>b]

array([3])

>>> a == b

array([False, True, False], dtype=bool)

>>> a[a==b]

array([2])

-----------分割线------------

今日习题:表达式sorted([111, 2, 33], key=lambda x: -len(str(x)))的值是什么?

原文发布于微信公众号 - Python小屋(Python_xiaowu)

原文发表时间:2017-06-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏向治洪

ECMAScript 6之变量的解构赋值

1,数组的解构赋值 基本用法 ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 以前,为变量赋值,只能...

2067
来自专栏老司机的技术博客

人人都能学会的python编程教程2:数据类型和变量

了解一门编程语言最开始就是了解它的数据类型了,python基本的数据类型分为如下几类:

3657
来自专栏武军超python专栏

2018-7月19日系统模块字符串操作

每天遇到的新单词: recursion   n:递归 objece      n:对象 maximum     adj:最大值 exceed      ...

1113
来自专栏前端学习心得

ES6数组的扩展----Array.from()和Array.of()

如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为“类似数组的对象”(array-like object),即为伪...

863
来自专栏编程之旅

ES6——箭头函数

ES6之后,允许使用箭头=>来定义函数。首先我们来总结一下箭头函数存在的意义,之后再来细细的看它的使用方法。

732
来自专栏Esofar 开发日记

JavaScript权威指南 - 数组

JavaScript数组是一种特殊类型的对象。 JavaScript数组元素可以为任意类型,最大容纳232-1个元素。 JavaScript数组是动态的,有...

824
来自专栏北京马哥教育

Python数据类型知识点全解

作者:zhang_derek 1.字符串 字符串常用功能 name = 'derek' print(name.capitalize()) #首字母大写 ...

2995
来自专栏Python研发

最全Python内置函数

判断真假,  True:真  ,  False:假,   把一个对象转换成bool值

1912
来自专栏java思维导图

正则表达式思维导图,不再难懂

01 一张思维导图 ? 02 导图内容解析 工具 RegexBuddy 语法结构 字符 [ab5@] 匹配"a"或"b"或"5"或"@" [^abc] 匹配a、...

39311
来自专栏Nian糕的私人厨房

JavaScript 常见面试题分析(一)

这道题考察的是 JS 的变量类型,JS 的变量类型有值类型和变量类型两种,值类型包括 undefined、字符串、数字、布尔值,引用类型包括对象、数组、函数

794

扫码关注云+社区