
正文
python函数取反 python怎么取反
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
Python中bool类型数组取反
在使用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表示。
数据类型!!!!
也就是结果只是数据类型不同,那转换下就好了:
相关问答
Q1: 在python中为什么不能对字符取反
因为在python中不支持这样的语法。在python中有类似C/C++中的逻辑取反运算符!的关键词not。
Q2: 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
小于156 456 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 从右到左
所谓运算符的优先级,是指在应用中哪一个运算符先计算,哪一个后计算,与数学的四则运算应遵循的“先乘除,后加减”是一个道理。
下表按从高到低的顺序列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。
运算符说明
** 幂
~、+、- 取反、正号和负号
*、/、%、// 算术运算符
+、- 算术运算符
、 位运算符中的左移和右移
位运算符中的位与
^ 位运算符中的位异或
| 位运算符中的位或
、=、、=、!=、== 比较运算符
在Python 中,使用内置函数input()可以接收用户的键盘输入。input()函数的基本用法如下:
variable = input("提示文字")
其中,variable 为保存输入结果的变量,双引号内的文字用于提示要输入的内容。
默认的情况下,在Python中,使用内置的print()函数可以将结果输出到IDLE或者标准控制台上。其基本语法格式如下:
Print(输出内容)
其中,输出内容可以是数字和字符串(字符串需要使用引号括起来),此类内容将直接
输出,也可以是包含运算符的表达式,此类内容将计算结果输出。
Q3: python中的按位取反运算
按位取反运算符:~
运算结果:~x=-(x+1)
例如:~9为-10
~(-9)为8
这不是按位取反吗?怎么结果是这样?
看下面。
转二进制:0 1001
计算补码:0 1001
要知道它所表达的数是多少,需要转换为原码
_____
转为原码:按位取反:1 1001
末位加一:1 1010
符号位为1是负数,即-10
转二进制:1 1001
计算补码:1 0111
要知道它所表达的数是多少,需要转换为原码____
转为原码:正数的补码和原码相同,仍为:0 1000,即8
Q4: python 位操作 取反问题
python 3的整型以16bit递增。
0xf0 =0b 0000 0000 1111 0000
~0xf0之后得到1111 1111 0000 1111
[1][111 1111 0000 1111]
确定是负数,有负数等于绝对值反码加一。求补码形式。
绝对值减1得:111 1111 0000 1110
反码得:000 0000 1111 0001
得-0xf1即-241(你那的~a[0]得-241)
要求得到[0,256),限定一下范围即可。
(~a[0])0xff
15
关于python函数取反和python怎么取反的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







