Python中bool类型数组取反

Python014

Python中bool类型数组取反,第1张

在使用python数组时,可以根据一个相同长度的bool数组来做切片,比如:

但有时候我们想要反转这个索引,取出数组内其他元素该怎么办呢?

当然要把索引列表内的True变成False,False变成True。而python中not只能作用在标量上,而不能作用在数组上。

联想到True对应1,False对应0,那是否可以这么做:

结果是不行:

因为使用1-index后得到的是包含0和1的数组,据此做切片只能得到对应0和1索引处的元素。

真难!!!!orz

噫 这时再回顾一个前面的操作,考虑到True/False和1/0的对应关系,我们把True和False是转换成了1和0,从bool类型的角度,我们实现了True变成False和False变成True的目标,但是从数据类型上看,并没有做到,最终用的0和1表示。

数据类型!!!!

也就是结果只是数据类型不同,那转换下就好了:

bool型函数指的是返回值为bool类型的函数,其调用方式和int 型函数没有太大的区别。

bool型变量的值只有 真 (true) 和假 (false)。bool可用于定义函数类型为布尔型,函数里可以有 return truereturn false 之类的语句。

bool为布尔型用作逻辑判断

BOOL在<windef.h>typedef int BOOL

在<wtypes.h>typedef long BOOL

扩展资料:

bool取值false和true,0为false,非0为true。(例如-1和2都是true)。

如果数个bool对象列在一起,可能会各占一个Byte,这取决于编译器。

BOOL是微软定义的typedef int BOOL(在windef.h中),0为FALSE,1为TRUE。(-1和2既不是TRUE也不是FALSE)。

#ifndef FALSE

#define FALSE 0

#endif

#ifndef TRUE

#define TRUE 1

#endif

布尔型变量bool

布尔型变量的值只有 真 (true) 和假 (false)。

布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。

bool可用于定义函数类型为布尔型,函数里可以有 return TRUEreturn FALSE 之类的语句。

参考资料:百度百科:bool函数

bool是Boolean的缩写,只有真(True)和假(False)两种取值

bool函数只有一个参数,并根据这个参数的值返回真或者假。

1.当对数字使用bool函数时,0返回假(False),任何其他值都返回真。

>>>bool(0)

False

>>>bool(1)

True

>>>bool(-1)

True

>>>bool(21334)

True

2.当对字符串使用bool函数时,对于没有值的字符串(也就是None或者空字符串)返回False,否则返回True。

>>>bool('')

False

>>>bool(None)

False

>>>bool('asd')

True

>>>bool('hello')

True

3.bool函数对于空的列表,字典和元祖返回False,否则返回True。

>>>a = []

>>>bool(a)

False

>>>a.append(1)

>>>bool(a)

True

4.用bool函数来判断一个值是否已经被设置。

>>>x = raw_input('Please enter a number :')

Please enter a number :

>>>bool(x.strip())

False

>>>x = raw_input('Please enter a number :')

Please enter a number :4

>>>bool(x.strip())

True