Python3 比较运算符与成员运算符的使用误区

初步理解什么是比较运算符,什么是成员运算符。

比较运算符(整体比较)
以运算符左侧的列表、元祖、字典等对象作为基准,判断右侧的列表、元祖或字典等对象。

|------【正确操作】-----|【打印结果】|
|Python3 比较运算符与成员运算符的使用误区|Python3 比较运算符与成员运算符的使用误区|

成员运算符(是否包含)
以运算符左侧的列表、元祖、字典等对象内的元素值作为基准,判断右侧的列表、元祖或字典等对象内的元素值。

|----------【正确操作】-------------|—【打印结果】—|
|Python3 比较运算符与成员运算符的使用误区|Python3 比较运算符与成员运算符的使用误区|

实例1 应该用成员运算符时用了比较运算符

|------------------------【正确操作】-----------------------|-------------------------【错误操作】------------------------|Python3 比较运算符与成员运算符的使用误区Python3 比较运算符与成员运算符的使用误区
|------------------------【打印结果】-----------------------|-------------------------【打印结果】------------------------|
|Python3 比较运算符与成员运算符的使用误区|Python3 比较运算符与成员运算符的使用误区|

使用“not in”表示以变量different为参照点,对current_list列表中的各个元素值进行循环对比。如果变量different中的某一个元素值不在current_list列表里存在,就添加到differents列表里,否则继续执行。

而使用“!=”表示变量different与current_list进行整体比较,相当于
if [‘lily’,‘avich’,‘admin’,‘tom’,‘eric’,‘cudy’,‘bob’,‘lisa’,‘tom’,‘eric’] != [‘lily’,‘avich’,‘admin’,‘tom’,‘eric’]:

实例2 应该用比较运算符时用了成员运算符

|----------------【正确操作】----------------|---------------【错误操作】----------------|
|Python3 比较运算符与成员运算符的使用误区|Python3 比较运算符与成员运算符的使用误区|
|----------------【打印结果】----------------|--------------【打印结果】-----------------|
|------------------Python3 比较运算符与成员运算符的使用误区-------------------|------------------Python3 比较运算符与成员运算符的使用误区-------------------|

虽然结果一样,也没有报错,但是容易错误理解。不过下面的例子就能清晰看出问题。

实例3 语法错误

|-----------【正确操作】-----------|-------------【错误操作】-------------|
|Python3 比较运算符与成员运算符的使用误区|Python3 比较运算符与成员运算符的使用误区|
|-----------【打印结果】-----------||------------【打印结果】-------------|
|--------------Python3 比较运算符与成员运算符的使用误区--------------|Python3 比较运算符与成员运算符的使用误区|

使用“==”表示nums1列表中元素值的总和与nums2列表中元素值的总和进行对比,即如果15等于35;而使用“in”表示如果15在35里面的话执行什么动作。