一文看懂Python(三)-----字典篇
字典不同于列表、元组和字符串,列表、元组和字符串可以概括为序列类型,有以下特点:
- 1.都可以通过索引得到每一个元素
- 2.默认索引值总是从0开始
- 3.可以通过切片的方法得到一个范围内的元素集合
- 4.有很多共同的操作符
而字典是一种映射类型,这是完全不同的。
1、创建字典
1.1 常用创建方式
dict1 = {'李宁':'云','耐克':'zoom','阿迪达斯':'boost','匹克':'态极'}
1.2 利用元组创建
dict2 = dict((('a',1),('b',2),('c',3),('d',4)))
1.3 另外一种创建方式
dict3 = dict(马斯克 = '让编程改变世界',爱因斯坦 = '广义狭义相对论')
2、修改字典
dict3['李宁'] = '一切皆有可能'
# 如果字典中没有该元素,通过上述这种方式会新添加该元素到字典中
dict3['奋斗'] = '社会上容纳不了太多有理想的人'
3、常用方法
3.1 fromkeys(seq,val)方法:创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值,val可选
# 若没有设置val,默认为None
dict1 = {}
dict1.fromkeys((1,2,3))
# 设置val为number,则创建的字典值为number
dict1.fromkeys((1,2,3),'number')
3.2 keys():获得字典所有的key值
dict2 = {}
dict2 = dict2.fromkeys(range(30),'赞')
for each in dict2.keys():print(each)
3.3 values():获得字典所有的values值
for each in dict2.values():print(each)
3.4 items()方法:将字典的每一项打印出来,以元组的形式
for each in dict2.items():print(each)
3.5 get(key,default)方法:返回指定键的值,如果值不在字典中返回default值,default可选
# dict2字典中只有30个元素,索引值0~29,没有30,因此返回一个None
print(dict2.get(30))
print(dict2.get(29))
3.6 in/not in :判断key是否在字典中¶
32 in dict2
29 in dict2
3.7 copy():这是浅拷贝,与直接相等不是一个东西
a = {1:'one',2:'two'}
# 浅拷贝
b = a.copy()
# 通过打印首地址来确认
print(id(a))
print(id(b))
# 可以发现不是相同的
# 深拷贝
c = a
print(id(c))
print(id(a))
# 可以发现这是一致的
3.8 pop(key,default):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
dict2.pop(27)
3.9 popitem():返回并删除字典中的最后一对键和值。
dict2.popitem()
3.10 setdefault(key,default):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
dict2.setdefault(26,'woaini')
3.11 update(dict2):把字典dict2的键/值对更新到dict里
dict2.update({99:'kk'})
一文看懂Python(三)-----字典篇相关推荐
- 一文看懂Python 爬虫 进阶(三)
一文看懂Python 爬虫 进阶(三) 文章目录 一文看懂Python 爬虫 进阶(三) **猫眼电影(xpath)** **链家二手房案例(xpath)** **百度贴吧图片抓取** 这篇几乎都是代 ...
- angular 字符串转换成数字_一文看懂Python列表、元组和字符串操作
好文推荐,转自CSDN,原作星辰StarDust,感觉写的比自己清晰-大江狗荐语. 序列 序列是具有索引和切片能力的集合. 列表.元组和字符串具有通过索引访问某个具体的值,或通过切片返回一段切片的能力 ...
- 一文看懂Python collections模块的高效数据类型
原作: George Seif, 发表于medium.com, 大江狗原创翻译, 并对原文稍作修改. Python的最大优势之一是其广泛的模块和软件包.这将Python的功能扩展到许多受欢迎的领域,包 ...
- SAP FICO 一文看懂财务三张表
点击进入:一文看懂财务三张表 更多内容关注公众号:SAPtechnical
- 一文看懂Python多进程与多线程编程(工作学习面试必读)
进程(process)和线程(thread)是非常抽象的概念, 也是程序员必需掌握的核心知识.多进程和多线程编程对于代码的并发执行,提升代码效率和缩短运行时间至关重要.小编我今天就来尝试下用一文总结下 ...
- 一文看懂Python(六)-----类与对象篇
今天给大家介绍"对象".众所周知,Python是一门面向对象的编程语言,Python之所以如此强大,很大一部分原因也是因为Python中无处不对象,由此可知,学好Python的关键 ...
- 一文看懂Python(五)-----文件篇
一.前言 文件操作在所有编程语言中都扮演着一个非常重要的角色,编程语言中的文件操作都大同小异,无非就是读取和写入,本文会详细介绍Python的相关文件操作,包括常用的方法.方法如何使用.一些小的案例以 ...
- 一文看懂Python(四)-----os.path模块篇
一.前言 今天介绍一下Python中一个常用的模块–os.path模块.之后会很频繁地用到这个模块,故在分享一下! 二.常用方法解释 方法名 方法介绍 basename(path) 去掉目录路径,单独 ...
- 一文看懂Python(二)-----字符串篇
本文着重介绍Python字符串的相关方法,有很多特别使用的方法,但也有比较奇特的方法,可能想都想不到,哈哈哈!比较难理解的方法我会把运行结果贴上去,简单的就不贴了,最后祝大家学的愉快! 1.创建一个字 ...
最新文章
- python 多级菜单_python多级菜单
- msyql主从同步实践
- C#设计模式系列:享元模式(Flyweight)
- 程序的加载和执行(五)——《x86汇编语言:从实模式到保护模式》读书笔记25
- 当singleton Bean依赖propotype Bean,可以使用在配置Bean添加look-method来解决
- chrome浏览器,调试详解,调试js、调试php、调试ajax
- ITPro Magazine2006年第6期发布
- spring boot的gradle整合日志
- MyBatis 插入失败后爆出 500 ,如何捕获异常?
- Win10下windows mobile设备中心连接不上的方法无法启动
- 【机器学习】层次聚类-Agglomerative clustering
- 求方程式ax2bxc0的根c语言,2019-03-09 C语言学习12-求ax^2+bx+c=0方程的根
- [转]用python来开发webgame服务端(3)
- 梦幻岛颠覆式变革NFT,探索实体与数字的双轨价值
- 借助Grub4DOS的grldr启动Windows PE(软启动)
- 保姆教程:mac ssh密钥连接Linux
- plt.legend 图例放在外面 子图会挤在一起 子图压缩 压扁
- 如何用matlab画旋转面,基于MATLAB在旋转面及其方程教学中应用的教学设计
- 使用OpenBTS基站测试物联网模块安全性
- 高性能零售IT系统的建设03-监控体系化的重要不亚于开发的投入