热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python3学习笔记(七):字典

在python中,有一种通过名字来引用值的数据结构,这种类型的数据结构成为映射。字典是Python中唯一内建的映射类型,具有以下特点:字典中的值是无序的值存在特定的键(key)下

在python中,有一种通过名字来引用值的数据结构,这种类型的数据结构成为映射。

字典是Python中唯一内建的映射类型,具有以下特点:

  • 字典中的值是无序的
  • 值存在特定的键(key)下
  • 键(key)可以是数字,字符串或元组等不可变的数据类型。

字典由多个键及与其对应的值构成的键-值对组成:

phOnebook= {'Alic':'2341', 'Beth':'9102', 'Cecil':'3258'}

dict函数:

用于建立字典

                  
>>> items = [('name','eastonliu'),('age',32)]                
>>> d = dict(items)                 
>>> d                  
{'name': 'eastonliu', 'age': 32}
>>> d = dict(name='eastonliu',age=32) >>> d {'name': 'eastonliu', 'age': 32}

一、基本字典操作


1、len(d)返回字典中键-值对的数量

>>> d = {'name': 'eastonliu', 'age': 32}              
>>> len(d)              
2

2、d[k]返回关联到键k上的值

>>> d = {'name': 'eastonliu', 'age': 32}
>>> d['name']                  
'eastonliu'

3、d[k]=v将值v关联到键k上

>>> d = {'name': 'eastonliu', 'age': 32}                  
>>> d['score']=99                  
>>> d                  
{'name': 'eastonliu', 'age': 32, 'score': 99}

4、del d[k]删除键为k的项

>>> d = {'name': 'eastonliu', 'age': 32}                  
>>> del d['age']                  
>>> d                  
{'name': 'eastonliu'}

5、k in d 检查字典d中是否含有键为k的项

>>> d = {'name': 'eastonliu', 'age': 32}                  
>>> 'name' in d                  
True
>>> 'score' in d                  
False

 

二、字典的格式化字符串


 

>>> phOnebook= {'Alic':'2341', 'Beth':'9102', 'Cecil':'3258'}
                  
>>> "Cecil's phone number is %(Cecil)s." % phonebook
                  
"Cecil's phone number is 3258."

三、字典的方法


 

1、clear

用于清除字典中的所有项

>>> d = {'name': 'eastonliu', 'age': 32}                  
>>> d.clear()                  
>>> d                  
{}

2、copy

返回一个具有相同键-值对的新字典

>>> x = {'name': 'eastonliu', 'age': 32}                  
>>> y = x.copy()                  
>>> y                  
{'name': 'eastonliu', 'age': 32}

3、fromkeys

使用给定的键建立新的字典,每个键都对应一个默认的None值

>>> dict.fromkeys(['name','age'])           
{'name': None, 'age': None}

4、get

通过键返回字典中的值,当键不存在时,返回None

>>> d = {'name': 'eastonliu', 'age': 32}           
>>> d.get('name')           
'eastonliu'
>>> print (d.get('score'))           
None

5、items

以列表形式返回的键值对元组类型

>>> d = {'name': 'eastonliu', 'age': 32}           
>>> d.items()           
dict_items([('name', 'eastonliu'), ('age', 32)])

6、keys

将字典中的键以列表形式返回

>>> d = {'name': 'eastonliu', 'age': 32}           
>>> d.keys()           
dict_keys(['name', 'age'])

7、values

将字典中的值以列表形式返回

>>> d = {'name': 'eastonliu', 'age': 32}
>>> d.values()           
dict_values(['eastonliu', 32])

 


推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 本文介绍了使用哈夫曼树实现文件压缩和解压的方法。首先对数据结构课程设计中的代码进行了分析,包括使用时间调用、常量定义和统计文件中各个字符时相关的结构体。然后讨论了哈夫曼树的实现原理和算法。最后介绍了文件压缩和解压的具体步骤,包括字符统计、构建哈夫曼树、生成编码表、编码和解码过程。通过实例演示了文件压缩和解压的效果。本文的内容对于理解哈夫曼树的实现原理和应用具有一定的参考价值。 ... [详细]
  • Python中sys模块的功能及用法详解
    本文详细介绍了Python中sys模块的功能及用法,包括对解释器参数和功能的访问、命令行参数列表、字节顺序指示符、编译模块名称等。同时还介绍了sys模块中的新功能和call_tracing函数的用法。推荐学习《Python教程》以深入了解。 ... [详细]
  • 如何使用Python从工程图图像中提取底部的方法?
    本文介绍了使用Python从工程图图像中提取底部的方法。首先将输入图片转换为灰度图像,并进行高斯模糊和阈值处理。然后通过填充潜在的轮廓以及使用轮廓逼近和矩形核进行过滤,去除非矩形轮廓。最后通过查找轮廓并使用轮廓近似、宽高比和轮廓区域进行过滤,隔离所需的底部轮廓,并使用Numpy切片提取底部模板部分。 ... [详细]
  • #define_CRT_SECURE_NO_WARNINGS#includelist.h#includevoidSListInit(PNode*pHead ... [详细]
  • Python3怎么获取文件属性
    这篇文章给大家分享的是有关Python3怎么获取文件属性的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。os.stat(path ... [详细]
  • python教程分享python单例模式之selenium driver实现单例
    一、使用装饰器实现单例二、web自动化driver实现单例模式2.1编写单例模式的装饰器2.2driver使用装饰器,实现单例模式2.3获取driver的实例,就是单例了三、在自动 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • Python Flask学习之安装SQL,python3,Pycharm(网上下载安装即可)
    1,下载时更改pypi源。可以额外安装虚拟化环境:pipinstall-ihttp:pypi.douban.comsimple--trusted-hos ... [详细]
author-avatar
书友40416624
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有