python函数取反 python怎么取反

Python中bool类型数组取反在使用python数组时,可以根据一个相同长度的bool数组来做切片 , 比如:
但有时候我们想要反转这个索引,取出数组内其他元素该怎么办呢?
当然要把索引列表内的True变成False,False变成True 。而python中not只能作用在标量上,而不能作用在数组上 。
联想到True对应1 , False对应0 , 那是否可以这么做:
结果是不行:
因为使用1-index后得到的是包含0和1的数组,据此做切片只能得到对应0和1索引处的元素 。
真难?。。。rz
噫 这时再回顾一个前面的操作,考虑到True/False和1/0的对应关系,我们把True和False是转换成了1和0,从bool类型的角度 , 我们实现了True变成False和False变成True的目标,但是从数据类型上看,并没有做到,最终用的0和1表示 。
数据类型?。。。?
也就是结果只是数据类型不同,那转换下就好了:
在python中为什么不能对字符取反因为在python中不支持这样的语法 。在python中有类似C/C++中的逻辑取反运算符!的关键词not 。
Python语法小记忆Python 中的字符串还支持转义字符 。所谓转义字符是指使用反斜杠“\”对一些特殊字符进行转义 。
转义字符说明
\ 续行符
\n 换行符
\0 空
\t 水平制表符 , 用于横向跳到下一制表位
\'' 双引号
\' 单引号
\\ 一个反斜杠
\f 换页
\0dd 八进制数,dd 代表字符,如\012 代表换行
\xhh 十六进制数,hh 代表字符,如\x0a 代表换行
在Python 中,提供了如下表所示的函数进行数据类型的转换 。
函数作用
int(x) 将x 转换成整数类型
float(x) 将x 转换成浮点数类型
complex(real [,imag]) 创建一个复数
str(x) 将x 转换为字符串
repr(x) 将x 转换为表达式字符串
eval(str) 计算在字符串中的有效Python 表达式,并返回一个对象
chr(x) 将整数x 转换为一个字符
ord(x) 将一个字符x 转换为它对应的整数值
hex(x) 将一个整数x 转换为一个十六进制字符串
oct(x) 将一个整数x 转换为一个八进制的字符串
赋值运算符主要用来为变量等赋值 。使用时,可以直接把基本赋值运算符“=”右边的值赋给左边的变量,也可以进行某些运算后再赋值给左边的变量 。在Python 中常用的赋值 。
运算符如下表所示 。
运算符说明举例展开形式
= 简单的赋值运算x=y x=y
+= 加赋值x+=y x=x+y
-= 减赋值x-=y x=x-y
*= 乘赋值x*=y x=x*y
/= 除赋值x/=y x=x/y
%= 取余数赋值x%=y x=x%y
**= 幂赋值x**=y x=x**y
//= 取整除赋值x//=y x=x//y
比较运算符,也称关系运算符,用于对变量或表达式的结果进行大小、真假等比较,如果比较结果为真,则返回True,如果为假,则返回False 。比较运算符通常用在条件语句中作为判断的依据 。Python 中的比较运算符如下表所示 。
运算符作用举例结果
大于'a''b' False
小于156456 True
== 等于'c' == 'c' True
!= 不等于'y' != 't' True
= 大于或等于479 = 426 True
= 小于或等于62.45 = 45.5 False
逻辑运算符是对真和假两种布尔值进行运算 , 运算后的结果仍是一个布尔值,Python中的逻辑运算符主要包括and(逻辑与)、or(逻辑或)、not(逻辑非) 。
运算符含义用法结合方向
and 逻辑与op1 and op2 从左到右
or 逻辑或op1 or op2 从左到右
not 逻辑非not op 从右到左
所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算 , 与数学的四则运算应遵循的“先乘除,后加减”是一个道理 。

推荐阅读