Python - 成員運算子



Python 成員運算子

Python 中的成員運算子幫助我們確定一個專案是否存在於給定的容器型別物件中,或者換句話說,一個專案是否是給定容器型別物件的成員。

Python 成員運算子的型別

Python 有兩個成員運算子:innot in。兩者都返回布林結果。in 運算子的結果與 not in 運算子的結果相反。

“in”運算子

in”運算子用於檢查一個子字串是否在一個更大的字串中,任何專案是否在一個列表或元組中,或者一個子列表或子元組是否包含在一個列表或元組中。

Python 成員運算子“in”的示例

在下面的示例中,檢查不同的子字串是否屬於字串 var="TutorialsPoint"。Python 根據它們的 Unicode 值區分字元。因此,“To”與“to”不同。還要注意,如果“in”運算子返回 True,“not in”運算子則計算為 False。

var = "TutorialsPoint"
a = "P"
b = "tor"
c = "in"
d = "To"
print (a, "in", var, ":", a in var)
print (b, "in", var, ":", b in var)
print (c, "in", var, ":", c in var)
print (d, "in", var, ":", d in var)

它將產生以下輸出 -

P in TutorialsPoint : True
tor in TutorialsPoint : True
in in TutorialsPoint : True
To in TutorialsPoint : False

“not in”運算子

“not in”運算子用於檢查一個序列與給定值是否不存在於物件中,例如字串、列表元組等。

Python 成員運算子“not in”的示例

var = "TutorialsPoint"
a = "P"
b = "tor"
c = "in"
d = "To"
print (a, "not in", var, ":", a not in var)
print (b, "not in", var, ":", b not in var)
print (c, "not in", var, ":", c not in var)
print (d, "not in", var, ":", d not in var)

它將產生以下輸出 -

P not in TutorialsPoint : False
tor not in TutorialsPoint : False
in not in TutorialsPoint : False
To not in TutorialsPoint : True

使用列表和元組的成員運算子

您可以使用“in/not in”運算子來檢查專案在列表或元組中的成員資格。

var = [10,20,30,40]
a = 20
b = 10
c = a-b
d = a/2
print (a, "in", var, ":", a in var)
print (b, "not in", var, ":", b not in var)
print (c, "in", var, ":", c in var)
print (d, "not in", var, ":", d not in var)

它將產生以下輸出 -

20 in [10, 20, 30, 40] : True
10 not in [10, 20, 30, 40] : False
10 in [10, 20, 30, 40] : True
10.0 not in [10, 20, 30, 40] : False

在最後一種情況下,“d”是浮點數,但它仍然與列表中的 10(一個int)比較為 True。即使以其他格式(如二進位制、八進位制或十六進位制)表示的數字也被給出,成員運算子也會告知它是否在序列中。

>>>  0x14 in [10, 20, 30, 40]
True

示例

但是,如果您嘗試檢查列表或元組中是否存在兩個連續的數字,“in”運算子將返回 False。如果列表/元組本身包含連續數字作為序列,則它將返回 True。

var = (10,20,30,40)
a = 10
b = 20
print ((a,b), "in", var, ":", (a,b) in var)
var = ((10,20),30,40)
a = 10
b = 20
print ((a,b), "in", var, ":", (a,b) in var)

它將產生以下輸出 -

(10, 20) in (10, 20, 30, 40) : False
(10, 20) in ((10, 20), 30, 40) : True

使用集合的成員運算子

Python 的成員運算子也適用於集合物件。

var = {10,20,30,40}
a = 10
b = 20
print (b, "in", var, ":", b in var)
var = {(10,20),30,40}
a = 10
b = 20
print ((a,b), "in", var, ":", (a,b) in var)

它將產生以下輸出 -

20 in {40, 10, 20, 30} : True
(10, 20) in {40, 30, (10, 20)} : True

使用字典的成員運算子

允許使用“in”和“not in”運算子與字典物件一起使用。但是,Python 僅使用鍵的集合而不是值的集合來檢查成員資格。

var = {1:10, 2:20, 3:30}
a = 2
b = 20
print (a, "in", var, ":", a in var)
print (b, "in", var, ":", b in var)

它將產生以下輸出 -

2 in {1: 10, 2: 20, 3: 30} : True
20 in {1: 10, 2: 20, 3: 30} : False
廣告