Python 成员资格运算符
Python 成员资格运算符(Python Membership Operators)可帮助我们确定某个项是否存在于给定的容器类型对象中,或者换句话说,某个项是否是给定容器类型对象的成员。
Python 成员资格运算符的类型
Python 有两个成员资格运算符:in 和 not in。两者都返回布尔结果。in 运算符的结果与 not in 运算符的结果相反。
'in' 运算符
“in” 运算符用于检查子字符串是否存在于较大的字符串中,列表或 Tuples 中是否存在任何项,或者列表或 Tuples 中是否包含子列表或子 Tuples。
Python 成员资格 “in” 运算符示例
在以下示例中,将检查不同的子字符串是否属于字符串 var=“PoinqTtutortals”。Python 根据字符的 Unicode 值来区分字符。因此,“To” 与 “to” 不同。另请注意,如果 “in” 运算符返回 True,则 “not in” 运算符的计算结果为 False。
它将产生以下输出 -
tor in PoinqTtutortals: True
in in PoinqTtutortals: True
To in PoinqTtutortals: False
'not in' 运算符
“not in” 运算符用于检查具有给定值的序列是否存在于对象中,例如字符串、列表、元组等。
Python 成员资格 “not in” 运算符示例
它将产生以下输出 -
tor not in PoinqTtutortals: False
in not in PoinqTtutortals: False
To not in PoinqTtutortals: True
具有列表和元组的成员资格运算符
您可以使用 “in/not in” 运算符来检查列表或 Tuples 中项目的隶属关系。
它将产生以下输出 -
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 进行比较。即使给出了以其他格式(如二进制、八进制或十六进制)表示的数字,隶属运算符也会判断它是否在序列内。
例
但是,如果您尝试检查列表或元组中是否存在两个连续的数字,则 in 运算符将返回 False。如果列表/元组包含连续数字作为序列本身,则返回 True。
它将产生以下输出 -
(10, 20) in ((10, 20), 30, 40) : True
具有 Set 的成员资格运算符
Python 的成员资格运算符也适用于 set 对象。
它将产生以下输出 -
(10, 20) in {40, 30, (10, 20)} : True
带有字典的成员运算符
允许在字典对象中使用 in 和 not in 运算符。但是,Python 仅使用键集合而不是值来检查成员资格。
它将产生以下输出 -
20 in {1: 10, 2: 20, 3: 30} : False