Python中字典是一些列键 (key) 值 (value) 对组成的,形式如下

{键1:值1,键2:值:2}

每个键值对用冒号隔开,每对之间用逗号隔开

键必须是唯一的,必须是不可变的,如字符串,数字,元组值可以是任何数据类型。

创建几个奇葩的字典:

创建空字典:

除了直接用大括号创建字典,还可以用dict()来创建字典

用法如下:通过放入列表套元组或者元组套列表实现

或者列表套列表、元组套列表

还可以

这种情况下,键只能为字符串类型,并且创建的时候字符串不用加引号。并且不能创建键为数值型的字典。

访问字典中的值

通过      字典名[键]

如果查找的键不在字典里,会报错。

可以查找字典里是否存在某个键:

键 in 字典

返回true或false

更新字典

字典中提供的方法和操作

dict.keys():返回包含字典key的列表

dict.values():返回包含字典所有value的列表

dict.items():返回包含所有键、值的列表

dict.clear():删除字典中的所有项或元素,无返回值(注意:不是删除字典,而是清空字典内容)

dict.get(key,default=None):返回字典中key对应的值,若key不存在,则返回default的值(default默认为None)

dict.pop(key[,default]):如果字典中存在key,则删除并返回key对应的value;如果key不存在,且没有给出default值,则引发KeyError异常。

dict.setdefault(key,default=None):如果字典不存在key,则由dict[key]=default为其赋值

dict.update(adict):将字典adict中键值对添加到dict中

遍历字典:

字典的复制:

由于是浅复制,所以对dict1的修改会影响到dict2,浅指的是复制只是一个引用,可以用id()查看究竟

id()的作用是找到变量或常亮在内存中存的位置,可以看出虽然是两个变量,但是变量的值是同一个。

浅复制示意图:

在字典中,深拷贝可以引入copy模块实现

Python知识点入门笔记——特色数据类型(字典)的更多相关文章

  1. Python知识点入门笔记——特色数据类型(元组)

    元组(tuple)是Python的另一种特色数据类型,元组和列表是相似的,可以存储不同类型的数据,但是元组是不可改变的,创建后就不能做任何修改操作. 创建元组 用逗号隔开的就是元组,但是为了美观和代码 ...

  2. Python知识点入门笔记——特色数据类型(列表)

    Python中提供了列表这种数据类型(类型为list)来存储多个值构成的序列 用逗号将不同数据分隔开,整体放在一个方括号[]里就创建了列表 列表中的数据类型可以是相同的,也可以是不同的 列表中还可以嵌 ...

  3. Python知识点入门笔记——特色数据类型(函数)

    函数的定义 def 函数名(形式参数): 函数体 [return 返回值] def是系统的关键字. 如果是自定义函数,函数名要复合变量命名规则,并且不能是系统关键字(jupyter中,打出系统关键字是 ...

  4. Python知识点入门笔记——特色数据类型(集合)

    集合是一种不重复的无序集 集合用花括号来定义{} 集合和字典一样,里面的顺序是无序的,{1,2,3}和{3,2,1}是相等的 集合的元素不可重复,也就是说{1,2,2,3}是不存在的,应该写为{1,2 ...

  5. Python知识点入门笔记——Python的基本数据类型

    Python的数字分为4种类型:整数(int).浮点数(float).布尔值(bool).复数(complex). type()函数可以知道数据的类型,如type(233)是int型,type(233 ...

  6. Python知识点入门笔记——Python文件操作、异常处理及random模块使用

    文件是存储在外部介质的数据集合,通常可以长久保存,前提是介质不易损坏 Python的绝对路径写法: E:\\编程学习资料\\爬取某社区高清无码大图.py E:/编程学习资料/爬取某社区高清无码大图.p ...

  7. Python知识点入门笔记——基本控制流程

    复合赋值语句 在Python中,可以使用一次赋值符号,给多个变量同时赋值:                  划重点:age_1,age_2 = age_2,age_1这种操作是Python独有的 i ...

  8. Python知识点入门笔记——基本运算和表达式

    变量:Python的变量不需要单独定义,直接在赋值的过程中完成定义. 当直接运行一个没有赋值过的变量时,会报错. 当不需要某个变量时,可以用del来删除 每个变量都占据着一定的内存空间,当变量被删除了 ...

  9. python的6种基本数据类型--字典

    python的6种基本数据类型--字典   字典 字典的定义与特性 字典是Python语言中唯一的映射类型. 定义:{key1:value1,key2:value2} 1.键与值用冒号":& ...

随机推荐

  1. 在Pycharm中写python代码时光标变粗

    在练习写python代码时,不小心摁了Insert键,结果光标变粗. 如下图所示: 原因: 和word一样,在编辑文本或代码时,有两种模式:改写和插入模式. 当我们在编辑文章或者是代码时,应该将模式设 ...

  2. ZK请求处理

    1. 事务请求转发-事务必须由Leader处理 所有非Leader的服务器收到来自客户端的事务请求,都会将客户端请求已REQUEST形式转发给Leader服务器进行处理 2. 事务处理 Proposa ...

  3. pat1098. Insertion or Heap Sort (25)

    1098. Insertion or Heap Sort (25) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yu ...

  4. android 开发-文件存储之读写sdcard

    android提供对可移除的外部存储进行文件存储.在对外部sdcard进行调用的时候首先要调用Environment.getExternalStorageState()检查sdcard的可用状态.通过 ...

  5. JAVA反射练习

    JAVA反射练习 题目 实现一个方法 public static Object execute(String className, String methodName, Object args[]) ...

  6. HhashMap HashTable ConcurrentHashMap

    hashMap hashTable concurrentHashMap hashMap的效率高于hashTable,hashMap是线程不安全的,并发时hashMap put方法容易引起死循环,导致c ...

  7. Django的路由层和视图层

    一丶Django 的路由层(URLconf) URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django ...

  8. php 01

    PHP 一.了解php 1.什么是php PHP 超文本预处理器 服务器端的脚本语言  是一种被广泛应用的开放源代码的多用途脚本语言  他可以嵌入到html中 尤其适用web开发 2.php在web中 ...

  9. ubuntu14.04server下安装scala+sbt工具

    安装sbt参考https://www.cnblogs.com/wrencai/p/3867898.html 在安装scala时 首先得安装jdk环境,最好安装最新版本以免后续安装出现不必要的麻烦 一. ...

  10. c++ STL deque容器成员函数

    deque是双向队列,即可以在头部插入删除,也可以在尾部插入删除.内部并不连续,这一点和vector并不一样.可能第1个元素和第2个元素的地址是不连在一起的.在使用时用it迭代器会安全一点. 这是c+ ...