您的位置:

Python中的成员运算符: in和not in的用法

一、in运算符

in运算符是Python中的一种成员运算符,用来检查一个元素是否在另一个序列中。该运算符接受两个参数,第一个参数是待查找的元素,第二个参数是序列。

    # 列表中检查元素是否存在
    fruits = ['apple', 'banana', 'cherry']
    print('apple' in fruits) # True
    print('orange' in fruits) # False
    
    # 字符串中检查子串是否存在
    s = 'hello world'
    print('world' in s) # True
    print('python' in s) # False
    
    # 元组中检查元素是否存在
    t = ('apple', 'banana', 'cherry')
    print('apple' in t) # True 
    print('pear' in t) # False

可以看到,in运算符能够用于不同类型的序列中,包括但不限于列表、字符串、元组等等。对于列表和元组,in运算符是基于元素的,而对于字符串则是基于子串的。

二、not in运算符

not in运算符与in相反,用于检查一个元素是否不在另一个序列中。

    # 列表中检查元素是否不存在
    fruits = ['apple', 'banana', 'cherry']
    print('pear' not in fruits) # True
    print('apple' not in fruits) # False
    
    # 字符串中检查子串是否不存在
    s = 'hello world'
    print('python' not in s) # True
    print('world' not in s) # False
    
    # 元组中检查元素是否不存在
    t = ('apple', 'banana', 'cherry')
    print('pear' not in t) # True 
    print('apple' not in t) # False

与in运算符类似,not in运算符也可以用于不同类型的序列。

三、注意事项

在使用in或not in运算符时,需要注意以下几点:

  1. 如果待查找的数据不在序列中,则in运算符返回False,not in运算符返回True。
  2. 如果待查找的数据在序列中,则in运算符返回True,not in运算符返回False。
  3. 对于字符串的检查,in运算符可以检查一个子串是否为另一个字符串的子串,而not in则是检查一个子串是否不是另一个字符串的子串。
  4. 在对字典进行成员运算时,in和not in运算符会默认判断键是否存在,而不是值。
  5. 对于集合数据类型,in和not in运算符默认判断的是元素是否存在。

四、总结

总的来说,in和not in运算符用于判断一个数据项是否在一个序列中,其返回值为True或False。应用于不同类型的序列中时,其功能也略有不同。在使用时需注意区分数据类型和检查的方式,以免出错。