创建字典

字典是另一种可变容器模型,且可存储任意类型对象。 
字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

  1. d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。 
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。 
一个简单的字典实例:

  1. dict = {'Alice': '1234', 'Beth': '', 'Cecil': '0000'}

也可如此创建字典:

  1. dict1 = { 'abc': 456 };
  2. dict2 = { 'abc': 123, 98.6: 37 };

访问字典里的值

把相应的键放入到方括号中,如下实例:

  1. dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
  2. print ("dict['Name']: ", dict['Name'])
  3. print ("dict['Age']: ", dict['Age'])

以上实例输出结果:

  1. dict['Name']: Runoob
  2. dict['Age']: 7

如果用字典里没有的键访问数据,会输出错误如下:

  1. print ("dict['Alice']: ", dict['Alice'])

以上实例输出结果:

  1. File "test.py", line 5, in <module>
  2. print ("dict['Alice']: ", dict['Alice'])
  3. KeyError: 'Alice'

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

  1. dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
  2. dict['Age'] = 8; # 更新 Age
  3. dict['School'] = "菜鸟教程" # 添加信息
  4. print ("dict['Age']: ", dict['Age'])
  5. print ("dict['School']: ", dict['School'])

以上实例输出结果:

  1. dict['Age']: 8
  2. dict['School']: 菜鸟教程

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。 
显示删除一个字典用del命令,如下实例:

  1. dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
  2. del dict['Name'] # 删除键 'Name'
  3. dict.clear() # 清空字典
  4. del dict # 删除字典
  5. print ("dict['Age']: ", dict['Age'])
  6. print ("dict['School']: ", dict['School'])

但这会引发一个异常,因为用执行 del 操作后字典不再存在:

  1. Traceback (most recent call last):
  2. File "test.py", line 9, in <module>
  3. print ("dict['Age']: ", dict['Age'])
  4. TypeError: 'type' object is not subscriptable

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。 
两个重要的点需要记住: 
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

  1. dict = {'Name': 'Runoob', 'Age': 7, 'Name': '小菜鸟'}
  2. print ("dict['Name']: ", dict['Name'])

以上实例输出结果:

  1. dict['Name']: 小菜鸟

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

  1. dict = {['Name']: 'Runoob', 'Age': 7}
  2. print ("dict['Name']: ", dict['Name'])

以上实例输出结果:

  1. Traceback (most recent call last):
  2. File "test.py", line 3, in <module>
  3. dict = {['Name']: 'Runoob', 'Age': 7}
  4. TypeError: unhashable type: 'list'

字典内置函数&方法

Python字典包含了以下内置函数:

Python字典包含了以下内置方法:

python中字典数据类型常用操作的更多相关文章

  1. Python中字典的相关操作

    1. Python类似于Java中的哈希表,只是两种语言表示的方式是不一样的,Python中的字典定义如下: 在Python中是一种可变的容器模型,它是通过一组键(key)值(value)对组成,这种 ...

  2. 超详细!盘点Python中字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  3. python中字符串(str)常用操作总结

    # 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系.) 1.字符串的基本操作之切片 s = 'python hello word' # 取首不取尾,取尾要+1 # 切片取出来的字符串与 ...

  4. python中字典dict的操作

    字典可存储任意类型的对象,由键和值(key - value)组成.字典也叫关联数组或哈希表. dict = {' , 'C' : [1 , 2 , 3] } dict['A'] = 007 # 修改字 ...

  5. Python中列表的常用操作

    只整理重要常用的操作: append():尾部追加元素,参数只能为一个. extend():用列表扩展列表,参数为列表. insert():在指定位置插入元素,第一个参数为插入位置,第二个为参数为插入 ...

  6. Python第一天——入门Python(4)字典的常用操作

    # dic={[1,2,3]:'123'} #可变类型不能当做字典的key,value可以使用任意类型 # dic={(2,3,4):'123'} # print (dic[(2,3,4)]) #元组 ...

  7. python中列表的常用操作增删改查

    1. 列表的概念,列表是一种存储大量数据的存储模型. 2. 列表的特点,列表具有索引的概念,可以通过索引操作列表中的数据.列表中的数据可以进行添加.删除.修改.查询等操作. 3. 列表的基本语法 创建 ...

  8. python中字典的基础操作

    dict1 = { 'name':'王麻子', 'age':25, 'phone':12580, 'high':160 } dict2 = { 'name':'张三', 'age':38, 'phon ...

  9. Python中set集合常用操作

    功能 Python符号 Python方法 备注 交集 & intersection, intersection_update &:取两者交集>>> set3 = se ...

随机推荐

  1. HTML5部分基础知识

    web前端开发 一个XML的简单应用 代码如下: <?xml version="1.0" encoding="utf-8"?> <svg wi ...

  2. 题解 【洛谷】AT654

    题解 AT654 [役人[错题已隐藏]] 此题题面没搬过来, 会日语的dalao可以自行去ATCoder查看. 给出此题的JavaAC代码: public class Main { public st ...

  3. js 将base64转为图片

    var imgurl = response.data; $(".codeimg").attr('src','data:image/png;base64,'+imgurl); var ...

  4. 如何在Vue-cli项目中使用JTopo

    1.前言 jTopo(Javascript Topology library)是一款完全基于HTML5 Canvas的关系.拓扑图形化界面开发工具包.其体积小,性能优异,由一群开发爱好者来维护.唯一感 ...

  5. rpm 方式安装java

    1.rpm下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.如果有安装openjdk 则卸载 #### ...

  6. SSHD服务安全的连接

    SSHD服务 SSH 安全的远程连接 OpenSSH 工具 centos服务端的包:openssh-server centos客户端的包:openssh-clients 主要配置文件一般安装完成后再/ ...

  7. [LINQ2Dapper]最完整Dapper To Linq框架(七)---仓储模式

    目录 [LINQ2Dapper]最完整Dapper To Linq框架(一)---基础查询 [LINQ2Dapper]最完整Dapper To Linq框架(二)---动态化查询 [LINQ2Dapp ...

  8. 在VMware CentOS7挂载系统光盘搭建本地仓库

    1.软件准备: 安装VMware环境,在这里我使用的是VMware15 一个虚拟机系统,在这里我使用的是CentOS7(版本不同可能会有一点出入,但是应该相差不大) 在这里还有一个前提是已经建立好了y ...

  9. Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录. 2.业务模块封装 因为现在各种APP的层出不群 ...

  10. 【Linux】Debian 下安装 Apache,MySQL,PHP

    首先,对你的源进行更新: $ sudo apt-get update 第一步--安装 Apache Apache 是一个开源软件,它目前运行在全球超过 50% 的服务器上,是 LAMP(Linux,A ...