Python 成员运算符

Python 成员运算符

Python的成员运算符帮助我们确定一个项是否存在于给定的容器类型对象中,换句话说,确定一个项是否是给定容器类型对象的成员。

Python有两个成员运算符:innot in。两者都返回一个布尔结果。“in”运算符的结果与“not in”运算符相反。

您可以使用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, "not in", var, ":", b not in var)
print (c, "in", var, ":", c in var)
print (d, "not in", var, ":", d not in var)

它将产生以下 输出

P in TutorialsPoint : True
tor not in TutorialsPoint : False
in in TutorialsPoint : True
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(一个整数)进行比较,结果为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的成员运算符也与set对象很好地配合使用。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程