文档声明:
以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。
如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。
作者:Aliven888

1、字典(dict)

  字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ;在字典中, key 是不能重复,否则后来者会覆盖前者的 value。

格式:

d = {key1 : value1, key2 : value2, key3 : value3 }

  在 python 中 字典 的创建方式是很灵活的,下面举例介绍下其他的定义方式,

# 使用 {} 和 : 创建字典
>>> dict1 = {'a':1, 'b':2, 'c':3}
>>> dict1
{'a': 1, 'c': 3, 'b': 2}# 使用 dict() 创建字典
>>> dict2 = dict((('a',1), ('b',2), ('c',3)))
>>> dict2
{'a': 1, 'c': 3, 'b': 2}# 也可以通过具有映射关系的参数创建字典
>>> dict3 = dict(a=1, b=2, c=3)
>>> dict3
{'a': 1, 'c': 3, 'b': 2}# key 值的位置,不能使用字符串的引号,否则报错
>>> dict4 = dict('a'=1, 'b'=2, 'c'=3)
SyntaxError: keyword can't be an expression# 使用 zip 函数
>>> dict5 = dict(zip(['a', 'b', 'c'], [1,2,3]))
>>> dict5
{'a': 1, 'c': 3, 'b': 2}>>> dict6 = dict([('a', 1), ('b', 2), ('c', 3)])
>>> dict6
{'a': 1, 'c': 3, 'b': 2}>>> dict7 = dict({'a':1, 'b':2, 'c':3})
>>> dict7
{'a': 1, 'c': 3, 'b': 2}#插入数值
>>> dict1['d'] = 4
>>> dict1
{'a': 1, 'c': 3, 'b': 2, 'd': 4}#访问不存在的 key
>>> dict1['f']Traceback (most recent call last):File "<pyshell#20>", line 1, in <module>dict1['f']
KeyError: 'f'# 删除键值对
>>> del dict1['d']
>>> dict1
{'a': 1, 'c': 3, 'b': 2}# 删除映射表
>>> del dict1
>>> dict1    # 访问不存在的表,抛出异常Traceback (most recent call last):File "<pyshell#25>", line 1, in <module>dict1
NameError: name 'dict1' is not defined# 通过 key 修改 value
>>> dict2
{'a': 1, 'c': 3, 'b': 2}
>>> dict2['b'] = 66
>>> dict2
{'a': 1, 'c': 3, 'b': 66}# 判断某个 key 是否在 字典中
>>> 'a' in dict2
True
>>> 'f' not in dict2
True# 清空字典
>>> dict2.clear()
>>> dict2
{}

注意事项:
1、键必须是唯一的,但值则不必。
2、值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

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

函数 描述
len(dict) 计算字典元素个数,即键的总数。
str(dict) 输出字典,以可打印的字符串表示。
type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dict.get(key, default=None) 返回指定键的值,如果键不在字典中返回 default 设置的默认值
key in dict 如果键在字典dict里返回true,否则返回false
dict.items() 以列表返回可遍历的(键, 值) 元组数组
dict.keys() 返回一个迭代器,可以使用 list() 来转换为列表
dict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict.update(dict2) 把字典dict2的键/值对更新到dict里
dict.values() 返回一个迭代器,可以使用 list() 来转换为列表
pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值
popitem() 随机返回并删除字典中的一对键和值

2、zip 内建函数

  zip函数也可以整合字典的键值对。

>>> k = [1,2,3]   # 定义 键(key) 列表
>>> v = ['a', 3.14, 'aaa']  # 定义 值(value) 列表
>>> d = dict(zip(k,v))
>>> d
{1: 'a', 2: 3.14, 3: 'aaa'}
>>>

python 编程开发 —— 字典(dict)介绍相关推荐

  1. 3.【Python编程】字典Dict相关知识及基本操作

    目录 3.[Python编程]字典Dict相关知识及基本操作 3.1 字典的创建 3.2 访问字典里的值 3.3 修改字典 3.4 删除字典元素 3.5 字典的常用函数 3.[Python编程]字典D ...

  2. 怎样下载安装python编程软件3.85_Python3.9最新版-Python编程开发工具下载v3.9.0 官方正式版-西西软件下载...

    Python编程开发工具是一款非常强大的编程软件,Python 是一种面向对象.直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定.这种语言具有非常简捷 ...

  3. python课程介绍-少儿Python编程课程的具体介绍

    以下是少儿Python编程课程的具体介绍,可供参考: 1.1.Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,初被设计用于编写自动化脚本(shell),随着版 ...

  4. 学习Python编程开发可以从事的岗位有哪些?

    Python编程技术在人工智能领域的发展有目共睹,很多人都想学习Python技术,而且从事Python开发,所从事的工作机会和工作岗位及工作内容可选择的余地很多,未来发展空间也很大.下面我们就来详细的 ...

  5. python编程有哪些-Python编程开发都有哪些限制

    Python编程开发都有哪些限制 2020-9-29 9:52:42 | 点击29次 软件开发设计模式是软件开发程序员需要重点掌握的编程知识之一,而今天我们就一起来了解一下,Python编程开发都有哪 ...

  6. 2018python做图形界面哪个库简单_2018年常见的python编程开发库都有哪些类型

    python编程开发可以说是目前比较热门的一项编程开发语言了,而今天我们就一起来了解一下,关于python编程都有哪些常见的python库可以使用. 1.TensorFlow "Tensor ...

  7. python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?

    转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...

  8. python容器类型——字典{dict}

    python容器类型--字典{dict} 文章目录 python容器类型--字典{dict} 一.特点 二.定义 三.字典的基本操作 1.查看 2.增加.修改 3.删除 4.合并字典 5.成员关系 6 ...

  9. 常见的Python编程开发工具有哪些?

    常见的Python编程开发工具有哪些?工欲善其事必先利其器,有一个好的开发工具可以大大的提高编程开发的效率,经常用到的Python编程开发工具有PTVS.集成开发环境 Eclipse.PyCharm. ...

最新文章

  1. 马明哲新年内部讲话透露新战略:全面开启3.0时代
  2. (JAVA学习笔记) 如何计算2*8效率高(面试题)—— 左移和右移问题。
  3. 一分钟带你快速进入Nacos的世界,史上最简易教程!零基础也能看明白!谁反对?
  4. visio任意区域填充斜线阴影_DX12渲染管线(6) - 级联阴影与距离场阴影
  5. 安装完最小化 RHEL/CentOS 7 后需要做的 30 件事情(三)码农网
  6. 过多提交(Over Posting)
  7. 计算机 学校教一半 自学一半,一半初中生无缘普高,上职业学校怎么样?
  8. JVM调优大全及实战总结
  9. 「镁客·请讲」南京布塔:用动作捕捉世界的精彩
  10. webstorm使用指南
  11. hp 服务器 无线网卡,换个网卡再战!—记惠普4431s笔记本更换无线网卡体验
  12. 从零开始做UI-静电的sketch设计教室 视频教程
  13. 台式计算机装机软件选择,装机软件哪个好?小编教你最好的装机软件推荐
  14. sklearn make_blobs函数
  15. 【风马一族_php】
  16. 图像算法工程师面试考点集锦
  17. dubbo2.7.x
  18. 3. JS编程之移除数组中的元素
  19. mysql 分区 less than_mysql分区
  20. Aspose.Words 通过书签导出数据

热门文章

  1. Vue ajax 同步请求
  2. 【正点原子FPGA连载】第四十三章MT9V034摄像头RGB-LCD显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
  3. UpdateWrapper,批量修改
  4. 拼多多大数据开发工程师SQL实战解析
  5. 回民检察院“四个注重”加强信息安全保密工作
  6. 关于芯片CS1180做数显压力表方案
  7. 英文版权声明_【好书推荐】英文原版绘本 凯奖作家Steve Jenkins作品 Animal Dads 平装...
  8. 计世独家:“枪炮与玫瑰”技术女的另一个我
  9. python 找出10以内的所有素数
  10. G120变频器控制方式(宏7)_PROFINET通信控制的具体方法