等值、大小比较
在python中,只要两个对象的类型相同,且它们是内置类型(字典除外),那么这两个对象就能进行比较。关键词:内置类型、同类型。所以,两个对象如果类型不同,就没法比较,比如数值类型的数值不能和字符串类型的数值或字母比较。
对于python中的等值、不等值、大小比较的规则为何如此,以后学了Class的运算符重载,自然就会知道。
其实自定义的类型(python 3.x中类Class就是类型)也可以进行比较,只不过要对类的比较操作符进行运算符重载。这些以后再说,这里先看内置类型的比较。
比较操作符有:

例如,下面的比较全部返回True。

python中同类型的内置类型对象(字典除外),都是从左开始,一个一个元素向后比较,就算中间遇到嵌套的容器结构(如list/tuple/Set),也会递归到嵌套的结构中去一个个比较。

注意,None对象只能参与等值和不等值比较,不能参与大小比较。

python支持连续比较,连续比较时等价于使用and运算。例如:

一定要注意连续比较时的逻辑。例如1 == 2 < 3 返回False,但它等价于 1 == 2 and 2 < 3,而不是先评估1==2得到False,再将比较的结果与后面的做比较,即等价于False < 3,这意味着0<3,这实际上是返回True的。

连续比较是一种比较语法,它不仅限于数值的连续比较,还支持其它类型。比如:

is 和 ==
有两种比较数据对象是否相等的方式:"==“和"is”,它们的否定形式分别为"!=“和"is not”。
它们都是比较表达式,但却是完全不同的比较方式:

  • " ==“和”!="符号比较的是数据的值是否相等、相同
  • "is"比较的是两个数据对象在内存中是否是同一个数据对象。换句话说,比较的是内存地址
    等号比较很容易理解,只要值相等就为True,否则为False。

is比较的是内存中的数据对象。例如:

a和b在数值上是相等的,所以a == b返回True。但它们分别指向的内存中的数据对象1000,却不是同一个数据对象,所以a is b返回False。如下图,内存中有两个1000。

如果是下面这种情况:

结果中a is b返回True,因为b = a是将a中保存的1000的地址赋值给b,使得b中也保存1000地地址。如下图,内存中只有一个1000,但是a和b都指向这个1000。

is测试还有些特殊情况,另外,关于b = a为什么赋值的是a中保存的地址,这里不对此展开描述

python字典元素的值是否相等_对Python中等值和大小比较相关推荐

  1. python字典返回键值对列表_返回列表Python dict dictionaries Python 数据结构——字典 返回列表...

    最近研究返回列表,稍微总结一下,以后继续补充: 字典是比列表更先进的一种内置数据结构. "字典"就像现实中的字典一样,每一个单词对应好几个意思.在Python面里就是每一个键对应一 ...

  2. python字典一键多值如何遍历_[宜配屋]听图阁

    循环写入字典key.value.删除指定的键值对: 原文本'jp_url.txt'每行元素以逗号分隔: host_key,product_id,product_name,cont_start,cont ...

  3. python字典的键有什么要求_在Python中使用范围作为字典键,我有什么选择?

    这是我的第一篇文章,我对编程很陌生,所以我可能无法恰当地传达我的问题,但我会尽我所能! tries_dict = {1:'first', 2:'second', 3:'third', 4:'fourt ...

  4. python字典里可以放列表吗_学习python之列表及字典

    本关学习的是两种新的数据类型:列表.字典. 在开始之前先学习一下计算机与数据直接的关系. 计算机有3种方式利用数据: 1.直接使用数据 print('我来了') 2.计算和加工数据 print (1+ ...

  5. python字典中文键值对重复_在YAML中将重复的键值对追加到嵌套字典中

    我试图通过python脚本将重复的key:value对附加到YAML文件中的嵌套字典中.以下是我为实现这一目标而编写的代码片段:import click import ruamel.yaml def ...

  6. python显示圆周率的值是多少_用python做一个有趣的实验,看你的生日是否出现在圆周率中...

    原标题:用python做一个有趣的实验,看你的生日是否出现在圆周率中 前言: 看到圆周率这个词,突然冒出一个灵感怎么知道我的生日在不在圆周率的中又或者在第几位呢?带着这个想法去网上找了一堆数据,最后找 ...

  7. python字典键盘添加元素_对python字典元素的添加与修改方法详解

    1.字典中的键存在时,可以通过字典名+下标的方式访问字典中改键对应的值,若键不存在则会抛出异常.如果想直接向字典中添加元素可以直接用字典名+下标+值的方式添加字典元素,只写键想后期对键赋值这种方式会抛 ...

  8. python 字典键值重复_浅谈python字典多键值及重复键值的使用

    在python中使用字典,格式如下: dict={ key1:value1 , key2;value2 ...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的多键值形式如下: ...

  9. 第十四周项目一数组大折腾(1)创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素

    问题及代码 创建一个有20个元素的整型数组,通过初始化,为数组中的前10个元素赋初值,然后通过键盘输入后10个元素的值,从前往后输出数组中元素的值,每五个元素 换一行. /*烟台大学计算机学院 201 ...

最新文章

  1. 复化梯形公式,Newton-Cotes公式,变量代换后的复化梯形公式,Gauss-Legendre公式,Gauss-Jacobi公式插值积分的精确度比较
  2. 精心安利8个良心好用的学习神器和办公神器
  3. HTTPDNS成为移动互联网的标配–原因与原理解析(转)
  4. ajax无刷新方式对form表单进行赋值!
  5. npm 安装指定的第三方包
  6. ec6110刷linux系统,华为EC6110-T优盘强刷固件升级包及刷机教程
  7. 论文浅尝 | 将结构预测作为增广自然语言间的翻译任务
  8. ctk 组件创建 ui_创建可重复使用的UI组件的提示和技巧
  9. odbc驱动程序配置失败_如何使用ODBC驱动程序配置链接服务器
  10. 搭乘云原生与数据中台实践列车 通往数字化转型前沿之旅
  11. 蓝桥杯 ADV-205 算法提高 拿糖果 java版
  12. iOS shell脚本打包
  13. PHP中的ZIP压缩与解压
  14. 协同级CRM能帮助企业带来哪些管理提升?
  15. c语言星空特效源代码,星空 - 网页特效代码|网页特效观止 - 让你的网页靓起来!...
  16. verilog实数函数
  17. 2022081班李亚楠20220905
  18. 编写Windows服务程序,将Python作为Windows服务启动
  19. php pageoffice安装,senman
  20. 最全的博客、网站提交入口(备用)

热门文章

  1. genlist -s 192.168.21.\*
  2. ELK收集docker日志
  3. grafana+zabbix 部署分布式监控系统
  4. E: Sub-process /usr/bin/dpkg returned an error code (1)
  5. Linux篇:通配符的应用
  6. 【SQL】ROWNUM和ROWID
  7. 以整体思维看问题:解决单页应用,系统角色请求覆盖身份唯一标识(本项目中是session_id命名的)发送请求问题
  8. mybatis异常:Could not find result map ......... 问题分析及解决
  9. plsql查询数据显示为乱码解决方案
  10. 连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法