Python3 比较运算符与成员运算符的使用误区
初步理解什么是比较运算符,什么是成员运算符。
比较运算符(整体比较)
以运算符左侧的列表、元祖、字典等对象作为基准,判断右侧的列表、元祖或字典等对象。
|------【正确操作】-----|【打印结果】|
||
|
成员运算符(是否包含)
以运算符左侧的列表、元祖、字典等对象内的元素值作为基准,判断右侧的列表、元祖或字典等对象内的元素值。
|----------【正确操作】-------------|—【打印结果】—|
||
|
实例1 应该用成员运算符时用了比较运算符
|------------------------【正确操作】-----------------------|-------------------------【错误操作】------------------------|
|------------------------【打印结果】-----------------------|-------------------------【打印结果】------------------------|
||
|
使用“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 应该用比较运算符时用了成员运算符
|----------------【正确操作】----------------|---------------【错误操作】----------------|
||
|
|----------------【打印结果】----------------|--------------【打印结果】-----------------|
|-------------------------------------|------------------
-------------------|
虽然结果一样,也没有报错,但是容易错误理解。不过下面的例子就能清晰看出问题。
实例3 语法错误
|-----------【正确操作】-----------|-------------【错误操作】-------------|
||
|
|-----------【打印结果】-----------||------------【打印结果】-------------|
|----------------------------|
|
使用“==”表示nums1列表中元素值的总和与nums2列表中元素值的总和进行对比,即如果15等于35;而使用“in”表示如果15在35里面的话执行什么动作。