一:什么是字典?

1、字典是一种可变的容器,可以存储任意类型的数据

2、字典中的每个数据都是用’键’(key)进行索引,而不像序列可以用下标来进行索引

3、字典的数据没有先后顺序关系,字典的存储是无序的

4、字典中的数据以键(key) – 值(value)对进行映射存储

5、字典的键不能重复,且只能用不可变类型作为字典的键

6、字典的字面值表示方法:

用{}括起来,以冒号(:)分隔键值对,各键值对用分号分隔开(注:列表和元组只能做为值,不能作为键,字典里面也可以包含字典)

创建空字典

d = {}

创建非空的字典:

d = {‘name’: ‘tarena’, ‘type’:’program’}

d = {‘姓名’: ‘张蕊’, ‘年龄’:’25岁’}

二:字典的构造函数 dict

1、dict() 创建一个空字典,等同于 {}

2、dict(iterable) 用可迭代对象初始化一个字典

3、dict(**kwargs) 关键字传参形式生成一个字典

4、示例:

d = dict()

d = dict([(‘name’, ‘tarena’), (‘age’, 15)])

d = dict(name=’tarena’, age=15) è (这种方式只能是字符串作为键的时候使用)

三:字典的基本操作

1、字典的键索引

用 [] 运算符可以获取字典内‘键’所对应的‘值’

语法:

字典[键]

获取数据元素

d = dict(name=’tarena’,age=15)

print(d[‘age’])

2、添加和修改字典的元素

字典[键] = 表达式

示例:

d = {}

d[‘name’] = ‘tarena’ #创建一个新键值对

d[‘age’] = 15 # 创建键值对

d[‘age’] = 16 # 修改键值对

3、删除字典的元素

语法:

del 字典[键]

示例:

d = {‘name’:’china’,’pos’:’asia’}

del d[‘pos’]

print(d)

四、字典的in / not in 运算符

1、可以用in运算符来判断一个’键’是否存在于字典中,如果存在则返回True,否则返回False,

Not in 与 in 返回值相反。

示例:

d = {‘a’:1,’b’:2}

‘a’ in d # True

1 in d #False

100 int in d # True

2 not in d # True

2、字典是可迭代对象,字典只能对键进行迭代访问

d = {‘name’:’tarena’,(2002, 1, 1): ‘生日’}

for x in d:

print(x)

五:字典的内建函数

1、len(x) ---- 返回字典键值对的个数

2、max(x) ---- 返回字典的键的最大值

3、min(x) ---- 返回字典的键的最小值

4、sum(x) ---- 返回字典所有键的和

5、any(x) ---- 真值测试,只对键测试,如果其中一个键为True,结果为True

6、all(x) ---- 真值测试,全部键为True时,结果才为True

六:字典的常用方法

1、chear() 清空字典

2、pop(key) 移除键,同时返回此键所对应的值

3、copy() 返回字典D的副本,只复制一层(浅拷贝)

4、update(d2) 将字典d2合并到d中,如果键相同,帽此键的值取d2的值作为新值

5、get(key,default) 返回键key所对诮的值,如果没有此键,则返回default

6、keys() 返回可迭代的dict_keys集合对象

7、values() 返回可迭代的dict_values值对象

8、items() 返回可迭代的dict_items对象

七、字典推导式

1、字典推导式是用可迭代对象依次生成字典内元素的表达式

2、语法:

{键表达式:值表达式 for 变量 in 可迭代对象 [if 真值表达式]}

(注:[]的内容可省略)

示例:

d = {x : x ** 2 for x in range(10)}

八、练习

1、写一个程序,实现以下需求:

将如下数据形成一个字典seasons

‘键’ ‘值’

1‘春季有1,2,3月’

2‘夏季有4,5,6月’

3‘秋季有7,8,9月’

4‘冬季有10,11,12月’

让用户一个整数代表这个季度,打印这个季度的信息,如果用户输入的信息不在字典的键内,则打信息不存在。

2、输入一段字符串,打印出这个字符串中出现过的字符及出现过的次数。

如:

输入:ABCDABCABA

输出:

A:4次

C:2次

B:3次

D:1次


推荐我们的Python学习扣qun:784758214 ,看看前辈们是如何学习的!从基础的python脚本到web开发、爬虫、django、数据挖掘等【PDF,实战源码】,零基础到项目实战的资料都有整理。送给每一位python的小伙伴!每天都有大牛定时讲解Python技术,分享一些学习的方法和需要注意的小细节,点击加入我们的 python学习者聚集地

尾声:这就是有关python字典的应用及方法,希望大家下去以后要多练练手,如果喜欢小编的分享,请多多关注、评论、加粉!谢谢!

python3字典的应用方法及技巧相关推荐

  1. python如何判断字典中是否存在某个键_总结:11个Python3字典内置方法大全及示例...

    概述 字典有着类似列表的高灵活度的特点,而与列表通过偏移索引的存取元素的方式不同,字典是通过无序的键来存取键值对的,即字典是任意对象的无需集合,可在原处增加或减少,且支持任意深度的嵌套(即可以包含诸如 ...

  2. python3 字典遍历的方法

    字典是针对非序列集合而提供的一种数据类型. 通过任意键查找集合中值信息的过程叫映射,python通过字典实现映射. 为字典赋值: >>> d={'list':[1, 2, 3],1: ...

  3. Python3 字典 items() 方法

    Python3 字典 items() 方法 描述 Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组. [ (键,值) , (键,值) , (键,值) ] 注意: 所以i ...

  4. python3判断字典中的key是否存在_python3判断key存在字典中的方法是什么

    python3判断key存在字典中的方法是什么 发布时间:2020-09-02 13:55:00 来源:亿速云 阅读:95 作者:小新 这篇文章主要介绍python3判断key存在字典中的方法是什么, ...

  5. Python3字典合并的几种方法

    目录 1.方法一:字典的update()方法 2.方法二:字典的dict(d1, **d2)方法和(**d1,**d2)方法 3.方法三:字典的常规处理方法 1.方法一:字典的update()方法 2 ...

  6. python菜鸟教程字典-Python3 字典

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

  7. python基础30个常用代码大全-Python3列表内置方法大全及示例代码小结

    Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚至列表,字典等等,自由度提升到一个新的高度,而Python也 ...

  8. python3字典平均值_python3基础之字典

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

  9. python3字典菜鸟教程_Python3 字典(map)

    ayout: post title: Python3 字典(map) author: "luowentaoaa" catalog: true tags: mathjax: true ...

最新文章

  1. 控制反转(IOC)模式
  2. 清除messages
  3. 周末,说声php的settergetter(魔术)方法,你们辛苦了
  4. TCP Congestion Control
  5. USACO翻译:USACO 2012 FEB Silver三题
  6. oracle 执行sql路径,如何指定 SQL 执行路径
  7. 软件框架的理解(转载)
  8. Spring中的bean是否是线程安全的
  9. 如何做一个淘宝客(前期为自己省钱)
  10. WordPress插件大合集会员收费下载/美化/卡密批量生成/积分功能 ErphpDown 包含9.42~~9.83版本
  11. RGB颜色转16进制颜色
  12. 数据分析36计(27):分析师与用户研究员,玩转定量研究和定性研究,落地研究结论...
  13. 哪些客户群体适合使用云服务器?
  14. Solidworks直接打开SWB文件报错怎么办
  15. Nginx系列1: 正向代理和反向代理、Nginx工作原理、Nginx常用命令和升级、搭建Nginx负载均衡
  16. 青少年研学旅行成长平台“青蛙研学”获数百万天使轮融资...
  17. 记一次“Could not resolve host: mirrorlist.centos.org; 未知的错误“的解决过程
  18. Cisco Packet Tracer 7.0 简单的使用教程
  19. 如何在VC中加减日期及 CTime COleDateTime的常用操作
  20. 用CSS实现3D魔方动画旋转

热门文章

  1. 实战:618/双11大促备战全流程点点滴滴
  2. pyshark.tshark.tshark.TSharkNotFoundException: TShark not found.
  3. 论文写作 1: 学术论文的基本概念
  4. iOS企业APP部署到自己服务器步骤
  5. 3年自动化测试,我突然想转测试开发了,开发测试工具平台......
  6. (二) OGNet 论文笔记
  7. 增量学习/Incremental learning
  8. Unity3d中最简单物体的旋转移动
  9. 网络设备配置与管理————10、命令行接口
  10. 计算机关于剪贴板的知识,复制、剪切、粘贴与剪贴板、内存的关系