Skip to content

成员运算符:判断元素是否属于集合

在 Python 中,成员运算符 innot in 用于测试一个值是否存在于或不存在于一个可迭代对象中。 所谓可迭代对象,就是可以被遍历访问的对象,例如字符串、列表、元组、集合和字典等。 它们能够帮助我们快速判断某个元素是否是这些集合中的一员。

in 运算符:判断元素是否存在

in 运算符用于检查某个值是否存在于可迭代对象中。如果存在,则返回 True;否则,返回 False

示例:

python
>>> 1 in [1, 2, 3]  # 检查数字 1 是否在列表 [1, 2, 3] 中
True
>>> "ed" in ["ed", "py", "hi"]  # 检查字符串 "ed" 是否在列表 ["ed", "py", "hi"] 中
True
>>> "ed" in ("ed", "py", "hi")  # 检查字符串 "ed" 是否在元组 ("ed", "py", "hi") 中
True
>>> 'ed' in {'ed': 1, 'py': 2}  # 检查字符串 'ed' 是否在字典的键中
True

解释:

  • 在第一个例子中,数字 1 确实存在于列表 [1, 2, 3] 中,因此 in 运算符返回 True
  • 类似地,字符串 "ed" 存在于列表 ["ed", "py", "hi"] 和元组 ("ed", "py", "hi") 中,所以返回 True
  • 对于字典,in 运算符默认检查键(key)是否存在。 因为字典 {'ed': 1, 'py': 2} 中包含键 'ed',所以返回 True。 如果要检查值(value)是否存在,可以使用 dict.values() 方法。

not in 运算符:判断元素是否不存在

not in 运算符与 in 运算符相反。它用于检查某个值是否不存在于可迭代对象中。如果不存在,则返回 True;否则,返回 False

示例:

python
>>> "pen" not in ["pencil", "ink"]  # 检查字符串 "pen" 是否不在列表 ["pencil", "ink"] 中
True
>>> "pen" not in ["pen", "ink"]  # 检查字符串 "pen" 是否不在列表 ["pen", "ink"] 中
False

解释:

  • 在第一个例子中,字符串 "pen" 不存在于列表 ["pencil", "ink"] 中,因此 not in 运算符返回 True
  • 在第二个例子中,字符串 "pen" 存在于列表 ["pen", "ink"] 中,因此 not in 运算符返回 False

成员运算符 innot in 是 Python 中非常实用的工具,可以帮助我们方便快捷地判断元素是否存在于可迭代对象中,让代码更简洁易懂。 掌握这两个运算符,能让你在处理数据时更加得心应手。