字典dict由键值key-value构成,具有较强的查询检索能力。

基本格式为:

dict={key1:value1,key2:value2,......,keyn,valuen }

1.key由数字、字符串、元组(元素只能为数字或字符串)这三种类型进行构建,但不能用变量、list、tuple进行构建。为什么呢,最后解释。

2.value可以是数字、字符串、元组、已赋值的变量、列表list、集合tuple。

为深入了解字典dict前,我们有必要和list对比一下。以下面C_lists和字典D_lists为例:

我们可以看出:

1. C_lists一旦定义,其长度就固定下来了,不能再增加。C_lists[0]到C_lists[2]有效,而C_lists[3]超界。

2. D_lists定义之后,如果按照key的构建规则继续向D_lists[]里增加key,其数量是可以继续增加的。

3. C_lists是以0开始的有序数列进行读取的,而D_lists是以key对应的value进行读取的。如D_lists['li']的value为15,而字典元素为tuple或list时,其读取规则同元组读取规则是一样的,如D_lists['wang'][1][1]=4。

4. 当dict中key出现重复时,key最终的value以最后一次赋值(出现)为准,并按照第一次key出现的位置输出。

以下代码在Pycharm下测试通过,可对照输出结果进行理解。

#以下开始定义字典,并进行赋值

D_lists={'zhang':('ee',[2,4,5],99999),'li':1000000,'zhang':('ee',[2,4,500],3)}

D_lists['li']=12

D_lists['zhang'][1][1]=77777

D_lists[3]=1

D_lists[('2wwww','w',45)]=2

if 'li' in D_lists:

print(D_lists)

D_lists['zhang']= 1

print(D_lists)

结果输出:

{'zhang': ('ee', [2, 77777, 500], 3), 'li': 12, 3: 1, ('2wwww', 'w', 45): 2}

{'zhang': 1, 'li': 12, 3: 1, ('2wwww', 'w', 45): 2}

现在,我们回过头来回答前面留下的问题,其实就是解释dict中key到时是干什么的:

1. key在功能上是用于检索的,相当于list中的0,1,2,3...等索引。

2. key还可被用来生成内存地址。Python系统会依次对出现的key,以调用Hash哈希函数的方法,转换成有序而不连续的内存地址,并把对应的value放置在此。这就很好理解上面我们看出的第4条内容。

3. Hash哈希函数不能使用变量做其参数生成内存地址。 list、dict以及变量都是可变的,因此,就不能用作参数。如果元组tuple元素仅使用数字或字符串的话,不变的,这时是可以用作key的。但tuple一旦内含了list等变化元素就不可以了。

由于北京疫情,现在不敢在KFC店里喝咖啡了,店外用手机先点,之后取走,露天喝!

python如何得出数组里最大_如何理解Python里的字典dict?相关推荐

  1. python采用面向对象编程模式吗_如何理解 Python 中的面向对象编程?

    现如今面向对象编程的使用非常广泛,本文我们就来探讨一下Python中的面向对象编程. 作者 | Radek Fabisiak 译者 | 弯月,责编 | 郭芮 以下为译文: Python支持多种类型的编 ...

  2. python中装饰器的作用_如何理解Python装饰器

    展开全部 理解Python中的装饰器 @makebold @makeitalic def say(): return "Hello" 打印出如2113下的输出: Hello 你会怎 ...

  3. python中继承是什么意思_如何理解Python中的继承?python入门

    如何理解Python中的继承?如今,python编程语言深受企业和个人的喜爱.python开发工程师是近年来互联网行业非常热门的职业岗位之一.学习python的人除了零基础的,还有一部分是在职运维.在 ...

  4. python绘图颜色深浅代表数值_画图理解Python的深浅拷贝

    在平常运维工作中,难免会有一些修改服务配置文件的操作,为了安全和可以回滚起见,我们习惯性的会将源配置文件做一个拷贝,这样以来即便配置文件参数被修改错了也没事,可以快速从备份的副本还原回来. 同样,在 ...

  5. python二维数组换行输出_关于用python绘制二维数组的问题

    我有一个关于用matplotlib绘制二维数组的问题.在我的代码中,我有一个2D数组,名为len(z)=20,z的值为: [[ 642.3774486 662.59980588 706.8014217 ...

  6. python二维数组切片规则_详解Python二维数组与三维数组切片的方法

    如果对象是二维数组,则切片应当是x[:]的形式,里面有一个冒号,冒号之前和之后分别表示对象的第0个维度和第1个维度: 如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间 ...

  7. python装饰器使用多吗_如何理解Python装饰器?

    Python中的装饰器是通过利用了函数特性的闭包实现的,所以在讲装饰器之前,我们需要先了解函数特性,以及闭包是怎么利用了函数特性的 ① 函数特性 python中的函数特性总的来说有以下四点: 1. 函 ...

  8. python中从小到大排序的函数_深入理解Python中的排序函数

    由于 Python2 和 Python3 中的排序函数略有区别,本文以Python3为主. Python 中的排序函数有 sort , sorted 等,这些适用于哪些排序,具体怎么用,今天就来说一说 ...

  9. python函数可以作为容器对象吗_正确理解Python函数是第一类对象

    正确理解 Python函数,能够帮助我们更好地理解 Python 装饰器.匿名函数(lambda).函数式编程等高阶技术. 函数(Function)作为程序语言中不可或缺的一部分,太稀松平常了.但函数 ...

最新文章

  1. 公司新来的同事一顿操作把大家整懵了,问了他的经历细思极恐。。。
  2. mac 安装android jdk,Mac上 配置Android Sutdio的Java JDK环境
  3. 深度学习笔记之使用Faster-Rcnn进行目标检测 (实践篇)
  4. c++计算eigen随笔(10)-数组、矩阵、向量(3)
  5. JDBC查询Oracle全部表名称,如何使用JDBC API从Oracle数据库中的现有表中检索记录?...
  6. 苹果计算机磁盘格式,Mac 上“磁盘工具”中可用的文件系统格式
  7. adb安装apk python小工具
  8. java socket 发对象_Java Socket 发送对象
  9. Android ProfileOwner 应用的能力
  10. 密码包含大写小写的英文字母数字和特殊字符正则
  11. 安装Brat标记工具
  12. cadence——基本操作6
  13. 美术集网校—入门学习水彩,刚需教程建议先码后看
  14. C语言经典例题--打印前五十个素数
  15. React 学习笔记:JSX 语法
  16. 【树图科技头条】2022年8月23日 星期二
  17. stata F值缺失_计量经济学stata代码总结
  18. 卷积神经网络的应用(人脸识别)
  19. 【数字IC基础】降动态功耗(降时钟翻转频率):门控时钟(clock gating)
  20. 监控属于计算机应用的,实时监控

热门文章

  1. 《Oracle PL/SQL程序设计(第5版)》一一2.5 编辑PL/SQL的环境
  2. 项目中js文件修改后浏览器不能及时更新的解决办法
  3. 关于JDK中的集合总结(二)
  4. Android Service 详解一:概述
  5. 不抛出异常的swap
  6. 第2章 开始学习C++
  7. predict函数 R_R包randomForest的随机森林回归模型以及对重要变量的选择
  8. python可以和java共存吗_python3 and python2 共存
  9. ioc中最基本的JAVA技术_Spring IOC 知识点总结
  10. java中地图查询比较慢,在java中缓慢的地图