📜  Python成员资格和身份运算符 | in, not in, is, is not

📅  最后修改于: 2020-01-17 12:55:51             🧑  作者: Mango

成员运算符

成员资格运算符是用于成员资格的运算符。它测试序列中的成员资格,例如字符串,列表或元组。

  1. in运算符: “ in”运算符用于检查值是否存在于序列中。如果找到指定序列中的变量,则评估为true,否则为false。
    # Python 使用in关键字查找成员
    list1=[1,2,3,4,5]
    list2=[6,7,8,9]
    for item in list1:
        if item in list2:
            print("有重叠")
    else:
        print("没有重叠")

    输出:

    没有重叠

    没有使用in运算符的相同示例:

    # Python代码,展示不使用in运算符
    #  定义一个接收两个list的函数
    def overlapping(list1,list2):
        c=0
        d=0
        for i in list1:
            c+=1
        for i in list2:
            d+=1
        for i in range(0,c):
            for j in range(0,d):
                if(list1[i]==list2[j]):
                    return 1
         return 0
    list1=[1,2,3,4,5]
    list2=[6,7,8,9]
    if(overlapping(list1,list2)):
        print("有重叠")
    else:
        print("没有重叠")

    输出:

    没有重叠2

    2, ‘not in’运算符: 如果找不到指定序列中的变量,则评估为true,否则为false。

    # Python代码,展示not in用法
    x = 24
    y = 20
    list = [10, 20, 30, 40, 50 ];
    if ( x not in list ):
       print "list没有x"
    else:
       print "list中有x"
    if ( y in list ):
       print "list中有y"
    else:
       print "list中没有y"

    身份运算符

    在Python中,用于确定值是特定类还是类型。它们通常用于确定某个变量包含的数据类型。
    有不同的身份运算符,例如:

    1. ‘is’运算符:如果运算符两侧的变量指向同一对象,则评估为true,否则为false。
      # Python代码,展示is身份运算符
      x = 5
      if (type(x) is int):
          print ("true")
      else:
          print ("false")

      输出:

      true

      2, “is not”运算符:如果运算符两侧的变量指向同一对象,则评估为false,否则为true

      # Python代码,展示is not运算符
      x = 5.2
      if (type(x) is not int):
          print ("true")
      else:
          print ("false")

      输出:

      true