中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中True和False如何判斷

發布時間:2022-07-04 13:38:04 來源:億速云 閱讀:684 作者:iii 欄目:開發技術

這篇文章主要講解了“Python中True和False如何判斷”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python中True和False如何判斷”吧!

1.True和False的邏輯取反

在對True和False進行邏輯取反時,不使用~,而要使用not。

因為在Python中,not才是邏輯取反,而~是按位取反。True和False對應的數值是1和0,~True就相當于對1按位取反,結果是-2,not True的結果才是False。

print(True)
print(~True)
print(not True)

結果是:

True
-2
False

類似的,~False的結果是1,not False 的結果才是True

print(False)
print(~False)
print(not False)

結果是:

False
-1
True

注:Python中 ~ 按位取反是按照數的補碼取反,即:

1 => 補碼00000001 => ~按位取反 => 補碼11111110 => 2

雙重否定的結果是這樣的

print(not not True)
print(~~True)
print(not ~True)
print(~(not True))

結果為:

True
1
False
-1

對False的雙重否定

print(not not False)
print(~~False)
print(not ~False)
print(~(not False))

結果為:

False
0
False
-2

2.if條件語句中的True和False

Python語言中,if后任何非0和非空(null)值為True,0或者null為False。這點和其他語言不相同,使用多種編程語言時很容易混淆。所以即使判斷條件是一個負數,也是按照True處理,不會執行else分支。來看例子:

if (-2):
    print('a')
else:
    print('b')

結果為:a

如果使用了~對True或False取反,則得不到想要的結果:

if (~True): # ~True == -2
    print('a')
else:
    print('b')

結果為:a

只有用not來取反,才能達到邏輯取反的效果:

if not True:
    print('a')
else:
    print('b')

結果為:b

3.pandas.DataFrame.loc 中的否定

pandas.DataFrame.loc 官方文檔中是這么說的
Access a group of rows and columns by label(s) or a boolean array.
可以使用布爾列表作為輸入,包括使用一個條件式來返回一個布爾列表,例:

首先創建一個DataFrame

import pandas as pd
 
df = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
    index=['cobra', 'viper', 'sidewinder'],
    columns=['max_speed', 'shield'])
 
df

使用條件式來篩選出shield大于6的數據

df.loc[df['shield'] > 6]

篩選出shield域小于等于6的數據,可以

df.loc[df['shield'] <= 6]

也可以用

~ df.loc[~(df['shield'] > 6)]

另一個例子,篩選出index中不包含er兩個字母的數據

df.loc[~df.index.str.contains('er')]

需要注意的是,在這里使用df.index.str.contains('er')作為條件篩選時,返回的是pd.Series。

而在pd.Series中, ~操作符重載了,它對布爾類型數據和對數值類型數據的處理分別是邏輯取反和按位取反。

df.index.str.contains('er')

的結果是:

array([False, True, True])

對布爾類型的pd.Series使用~取反,是邏輯取反

~pd.Series([False, True, False])

結果為

True
False
True
dtype: bool

而如果對數值型的pd.Series使用~取反,則是按位取反

~pd.Series([1,2,3])

結果為

-2
-3
-4
dtype: int64

感謝各位的閱讀,以上就是“Python中True和False如何判斷”的內容了,經過本文的學習后,相信大家對Python中True和False如何判斷這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

佛坪县| 日土县| 如东县| 濉溪县| 都江堰市| 治多县| 乡城县| 湘潭市| 万全县| 宜都市| 吉林省| 小金县| 宝鸡市| 松桃| 教育| 长丰县| 莆田市| 新建县| 垫江县| 牟定县| 班戈县| 剑河县| 江永县| 东源县| 会昌县| 车致| 汝城县| 友谊县| 灌南县| 彭水| 荔浦县| 兴安盟| 肇庆市| 青河县| 泗水县| 洛扎县| 新源县| 原平市| 乳山市| 临颍县| 中山市|