字典概述

字典和列表类似,是可变序列,与列表不同的是,字典是无序的可变序列,保存的内容是以 键值对 的形式存放的。类似于的新华字典中拼音和汉字的关系,通过音节表可以快速找到对应的汉字。其中音节表相当于字典里的键(key),其对应的汉字相当于值(value)。键(key)是唯一的,而值(value)可以是多个。

一、字典的主要特征

1、通过键(key)而不是通过索引来读取字典
2、字典是任意对象的无序集合
3、字典可变,可任意镶嵌
4、字典的键必须唯一(如果同一个键出现两次,则后一个键会被记住)
5、字典中的键必须不可变(键可以使用数字,字符串或者元组,但不能使用列表)

二、字典的创建和删除

1、字典的创建

a)语法解释

定义字典时,每个元素都包含两个部分“键(key)“和“值(value)“。
创建字典时,在键(key)和值(value)只见用冒号(:)分隔,相邻两个元素用逗号(,)分隔,所有元素用{}括起来。

b)创建含有元素的字典
示例:

dic = {1: "ssh", 2: "ftp", "key": "value"}  #冒号前的为键,冒号后的为值
print(dic)运行结果:
{1: 'ssh', 2: 'ftp', 'key': 'value'}

c)创建空字典

建立空字典有两种方法

dic1={}             #方法一
print(dic1)运行结果:
{}dic2=dict()          #方法二
print(dic2)运行结果:
{}

d)通过映射函数创建字典

zip()函数:用于将多个列表或元组对应的位置元素组成为元组,并返回到zip对象
返回值:如果两个列表长度不相等,则与最短的列表长度相同

key = [1, 2, 3, 4]                  #作为键的列表
value = ['列表', '元组', '字典']       #作为值的列表
dic = dict(zip(key, value))            #转化为字典
print(dic)                          #打印字典运行结果:
{1: '列表', 2: '元组', 3: '字典'}

e)通过给定的键值对创建字典

dic = dict(a = '列表', b = '元组', c = '字典')
print(dic)运行结果:
{'a': '列表', 'b': '元组', 'c': '字典'}

2、删除字典

del dic          #dic为字典名

3、清空字典元素

清空后为空字典

dic.clear()          #dic为字典名

二、通过“键值对“访问字典

根据键(key)输出值(value)

dic = {'孙尚香': '大小姐', '孙悟空': '猴子''弼马温', '猪八戒': '二师兄'}
print(dic['孙尚香'])运行结果:
大小姐

指定的键不存在时:

print(dic['李白'])

运行结果:

很难看!

一般在实际开发中,很可能不知道字典里存在什么键,但为了视界效果,更好的用户体验,所以要避免异常产生!

dic = {'孙尚香': '大小姐', '孙悟空': '猴子''弼马温', '猪八戒': '二师兄'}
print("李白的绰号是: ",dic['李白'] if '' in dic else '字典里没有此人!')运行结果:
李白的绰号是:  字典里没有此人!

另外:Python推荐的方法是使用字典对象的get()方法获取指定键的值。

get()格式:

get(key,'key不存在返回值')

示例:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
print('孙悟空的绰号是: ',dic.get('孙悟空','字典里没有此人!'))运行结果:
孙悟空的绰号是:  猴子 弼马温print('李白的绰号是: ',dic.get('李白','字典里没有此人!'))运行结果:
李白的绰号是:  字典里没有此人!

三、遍历字典

1、使用字典对象的 items() 方法可以获取字典的“键值对”的元组列表。

items()的语法格式:

dic.items()      #dic为字典对象

示例:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
print(dic.items())运行结果:
dict_items([('孙尚香', '大小姐'), ('孙悟空', '猴子 弼马温'), ('猪八戒', '二师兄')])

2、获取具体的 键值对

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
for items in dic.items() :print(items)运行结果:
('孙尚香', '大小姐')
('孙悟空', '猴子 弼马温')
('猪八戒', '二师兄')

3、获取具体的 每个 键 和 值

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
for k,v in dic.items() :print(k,'的绰号为:',v)运行结果:
孙尚香 的绰号为: 大小姐
孙悟空 的绰号为: 猴子 弼马温
猪八戒 的绰号为: 二师兄

4、单独获取 键 或 值

dic.keys()       #dic为字典对象
dic.values()

示例:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
print(dic.keys())
print(dic.values())运行结果:
dict_keys(['孙尚香', '孙悟空', '猪八戒'])
dict_values(['大小姐', '猴子 弼马温', '二师兄'])

四、添加、修改和删除 字典元素

1、添加 字典元素

格式:

dic[key] = value

示例:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
dic['李白']='诗仙'
print(dic)运行结果:
{'孙尚香': '大小姐', '孙悟空': '猴子 弼马温', '猪八戒': '二师兄', '李白': '诗仙'}

2、修改 字典元素

格式:

#当key包含于字典时,将使用新的值替换原来该键的值
dic[key] = value

示例:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
dic['孙悟空']='大师兄'
print(dic)运行结果:
{'孙尚香': '大小姐', '孙悟空': '大师兄', '猪八戒': '二师兄'}

3、删除 字典元素

格式:

del dic[key]     #dic为目标字典
dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
del dic['孙悟空']
print(dic)运行结果:
{'孙尚香': '大小姐', '猪八戒': '二师兄'}

如果没有要删除的元素,就会报错,很难看!
推荐用以下代码:

dic = {'孙尚香': '大小姐', '孙悟空': '猴子'' ''弼马温', '猪八戒': '二师兄'}
if '李白' in dic :del dic['李白']print(dic)
else:print('没有此人!')

五、字典推导式

利用random标准库随机产生数字,从而快速生成字典

import random        #导入random标准库
dic={i:random.randint(10,100) for i in range(1,5)}
print("生成字典为:",dic)运行结果:
生成字典为: {1: 78, 2: 62, 3: 54, 4: 76}

Python小白教学系列 | 字典相关推荐

  1. python入门基础系列_03python—9个基础常识-python小白入门系列

    <python小白入门系列教程> 专栏 • 第03篇 文 | xc_718 深度好文:1828字 | 4分钟阅读 ​ 1. 注释 1)单行注释:****# #注释内容 print('123 ...

  2. python入门基础系列八_03python—9个基础常识-python小白入门系列

    <python小白入门系列教程> 专栏 • 第03篇 文 | xc_718 深度好文:1828字 | 4分钟阅读 ​ 1. 注释 1)单行注释:##注释内容 print('123') #1 ...

  3. python小白入门系列--· (1) 安装Win10ubuntu16.04双系统

    本人python小白一枚,写文章主要是为了记录总结学习过程中遇到的各种坑,请各位大佬多多指教,也为想入门的童鞋们先探探路. 首先想说一下双系统的必要性: 男票原本建议先在win10装虚拟机,在linu ...

  4. python小白社区_Python小白教学系列| 初识python-Go语言中文社区

    前言 关于Python的优缺点,用途,已在上一篇博客<浅谈C,JAVA,Python各自优劣>中介绍,这里不再过多赘述. 一.遇见Python Linux系统现在最好可以安装Python3 ...

  5. .describe() python_【python小白上路系列】函数

    第二个周末持续加班了,体力严重透支. 在本章中,你将学习编写函数 .函数是带名字的代码块,用于完成具体的工作. 要执行函数定义的特定任务,可调用该函数.需要在程序中多次执行同一项任务时,你无需反复编写 ...

  6. Python快速上手系列--字典--详解实战篇

    本章字典篇,比较的重要,所以有比较多的练习小实战,一起来看看吧. 字典 什么是字典: 字典:是一系列的键值对,每一个键都会有对应的一个值关联,它们可以是数字 ,字符串,列表以及字典本身.用{}来表示. ...

  7. Python基础教学系列— 基础语法

    标识符 所谓的标识符就是对变量.常量.函数.类等对象起的名字. 首先必须说明的是,Python语言在任何场景都严格区分大小写!也就是说A和a代表的意义完全不同 python对于表示标识符的命名有如下规 ...

  8. Python小白机器学习教程:Sklearn精讲

    点击"简说Python",选择"置顶/星标公众号" 福利干货,第一时间送达! 本文授权转载自王的机器 禁二次转载 作者:王圣元 阅读文本大概需要 60 分钟 老 ...

  9. Python小白数据可视化教程:PyEcharts 精讲

    点击"简说Python",选择"置顶/星标公众号" 福利干货,第一时间送达! 本文授权转载自王的机器 禁二次转载 作者:王圣元 阅读文本大概需要 24 分钟 老 ...

最新文章

  1. ansible 介绍
  2. 涨姿势:另类的表情域名赚钱大法!!
  3. 设计模式:观察者模式(有利于代码解耦)
  4. 【学习笔记】SAP CO模块概念信息(上)
  5. 在VC中如何使用OCX控件 【来源:http://blog.csdn.net/wulang1114/article/details/4806089】
  6. 【建议收藏】IntelliJ IDEA 常用的快捷键 提高开发效率
  7. java 后端校验_如何实现Java后端数据校验?看这篇就足够!
  8. [导入]FreeTextBox 1.6.3 中文版使用说明
  9. 大数据技术 思维导图
  10. Git学习系列(六)解决分支冲突及分支管理策略
  11. Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍)
  12. oracle数据泵功能,Oracle数据泵的使用(1)-Oracle
  13. Struts2基础总结
  14. MySQL数据库接口的VC具体实现与应用
  15. 电脑管家下载|腾讯电脑管家下载
  16. 免费随机图片api接口
  17. HR面试问题-你的缺点是什么?
  18. 一款小游戏集合自动脚本
  19. 韦东山嵌入式linux第一期_裸机实战之开发板熟悉与体验篇
  20. vi 的完整指令说明 -- YenYen 整理

热门文章

  1. @sun.misc.Contended 解决伪共享问题
  2. 交换机与路由器技术-10-交换机密码恢复
  3. 漏洞复现篇——利用XSS漏洞实现多种网络钓鱼方法
  4. c语言file的作用是什么意思,C语言文件操作之文件打开方式
  5. 互联网公司面试——字节跳动算法
  6. 机器学习实战——第八章(回归):回归——预测数值型数据
  7. GSYVideoPlayer 使用‘小’心得之 改变放大和缩小的图标
  8. photoshop--圆圈里面有个c怎么打出来,版权符号怎么打出来,圆圈c、©
  9. VsCode乱码问题解决方法
  10. C++模拟商店货物购进和卖出