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. postman将上一个请求的结果作为下一个请求的数据

    需要在Tests中写入如下代码: var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("token" ...

  2. Storm概念学习系列之事务

    不多说,直接上干货! 事务 这里的事务是专门针对Topology提出来的,是为了解决元组在处理失败重新发送后的一系列问题的.简而言之,事务拓扑(transactional topology)就是指St ...

  3. jdbc操作数据库的步骤

    package com.jckb; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Prepare ...

  4. 在Azure上搭架***代理服务器

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:在Azure上搭架***代理服务器.

  5. chroot 的应用

    http://www.williamlong.info/archives/3864.html http://my.oschina.net/u/1590519/blog/342576

  6. 多个activity之间的数据共享

    Activity之间的数据共享问题起初一看并没有那么纠结,原因在于两点,一来两个Activity之间可以通过回传的方式进行数据的共享,而哪怕是多个Activity之间,也可以通过静态类进行数据的共享. ...

  7. java 基础 02 数据类型、运算符、分支结构

    内容: (1)数据类型 (2)运算符 (3)分支结构 1.数据类型 java语言中的基本数据类型:byte.short.int.long.float.double.boolean.char. 1.1布 ...

  8. python中函数的定义与调用

    1.为什么要用函数? (1)代码重复太多(2)可读性差 使用函数的好处: (1)代码重用 (2)保持一致性,易维护 (2)可扩展性 2.初始函数定义与调用     函数的定义 def test(x): ...

  9. 面向对象之套接字(socket)和黏包

    一丶套接字(socket) tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端 基于UDP协议的socket server端: import socket udp_sk = socke ...

  10. C++编写双向链表

    创建双向链表类,该类有默认构造函数.类的拷贝函数.类的.实现链表添加数据.升序排序.查找链表中某个节点及删除链表中某个节点的操作 代码实现: #include<iostream> #inc ...