python中True-False,python中true和false什么意思
众所周知,True和False是布尔变量的可取值。下面文章主要介绍Python中真(True)假(False)判断的相关信息。本文通过示例代码非常详细的介绍了一下,有需要的朋友可以参考一下。
00-1010前言1。真假的逻辑否定2。2.if条件语句中的真与假。pandas.dataframe.loc中的负面总结。
目录
Python中的True和False总是容易混淆,一不小心就会用错。本文总结了三个易错点,分别是逻辑否定、if条件表达式和熊猫中的条件表达式。DataFrame.loc切片。
前言
逻辑否定真假时,用not代替~。
因为在Python中,not是逻辑反转,而~是按位反转。对应真和假的值是1和0。~True相当于1的按位取反,结果是-2。不真实的结果是假的。
打印(真)
打印(~True)
打印(不真实)
结果是:
真实的
-2
错误的
同理~False的结果为1,not False的结果为真。
打印(假)
打印(~False)
打印(非虚假)
结果是:
错误的
-1
真实的
注意:在Python ~按位求逆是根据数的补码求逆,即:
1=补码00000001=~按位反转=补码11111110=2
负面结果是这样的。
打印(并非不真实)
打印(~~True)
打印(非~真)
打印(~(不真实))
结果是:
真实的
任何人
错误的
-1
假的双重否定
打印(非假)
打印(~~False)
打印(非~假)
打印(~(非假))
结果是:
错误的
0
错误的
-2
1.True和False的逻辑取反
在Python中,if后面的任何非零和非空(null)值都为True,0或null为False。这与其他语言不同,在使用多种编程语言时很容易混淆。因此,即使判断条件是负数,也将被视为真,不执行else分支。看看这个例子:
if (-2):
打印(“a”)
else:
打印(“b”)
结果是:a
如果使用~来否定True或False,您将不会得到想要的结果:
if (~True): # ~True==-2
打印(“a”)
else:
打印(“b”)
结果是:a
只有用不否定才能达到逻辑否定的效果:
如果不是真的:
打印(“a”)
else:
打印(“b”)
结果是:b
2.if条件语句中的True和False
那是熊猫的官方文件。DataFrame.loc说。
通过标签或布尔数组访问一组行和列。
您可以使用布尔列表作为输入,包括使用条件表达式返回布尔列表,例如3360。
首先,创建一个数据框架。
进口熊猫作为pd
df=pd。DataFrame([[1,2],[4,5],[7,8]],
index=[眼镜蛇,毒蛇,响尾蛇],
columns=[max_speed , shield])
df
使用条件表达式过滤掉屏蔽值大于6的数据。
df.loc[df[盾] 6]
要过滤屏蔽域小于或等于6的数据,您可以
df.loc[df[shield]=6]
也可以用。
~ df.loc[~(df[shield] 6)]
再比如筛选出索引中不含字母er的数据。
df . loc[~ df . index . str . contains( er )]
需要注意的是,当df.index.str.contains(er )在这里用作条件过滤器时,pd。系列被返回。
然而,在pd。Series,~运算符被重载,它对布尔数据和对数数据的处理分别是逻辑求逆和按位求逆。
df.index.str.contains(er )
结果是:
数组([假,真,真])
使用~对布尔pd求反。级数是逻辑否定。
~pd。系列([假,真,假])
结果为
真实的
错误的
真实的
dtype:布尔值
If ~反演用于数值pd。级数,是逐位求逆。
~pd。级数([1,2,3])
结果为
-2
-3
-4
dtype: int64
3.pandas.DataFrame.loc 中的否定
关于Python中真(真)假(假)判断的这篇文章到此为止。更多关于Python真假的详细信息,请搜索盛行IT软件开发工作室之前的文章或者继续浏览下面的相关文章。希望大家以后多多支持盛行的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。