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

python字典(6)

文章目录前言一、什么是字典二、字典的创建1.使用花括号{}2.使用内置函数dict()三、字典中元素的获取四、字典的增删改五、字典的视图操作六、字典元素的遍历七、字典的特点八、字典


文章目录

  • 前言
  • 一、什么是字典
  • 二、字典的创建
    • 1.使用花括号{}
    • 2.使用内置函数dict()
  • 三、字典中元素的获取
  • 四、字典的增删改
  • 五、字典的视图操作
  • 六、字典元素的遍历
  • 七、字典的特点
  • 八、字典生成式
  • 总结




前言

python学习笔记day3 (仅供学习使用)




一、什么是字典

python内置的数据结构之一,与列表一样是个可变序列
以键值对的方式存储数据,字典是一个无序序列

在这里插入图片描述


二、字典的创建


1.使用花括号{}

'''使用{}创建字典'''
scores={'张三':100,'李四':98,'王五':45}
print(scores)
print(type(scores))
'''空字典'''
d={}
print(d)

2.使用内置函数dict()

student=dict(name='jack',age=20)
print(student)

三、字典中元素的获取

在这里插入图片描述

'''获取字典的元素'''
scores={'张三':100,'李四':98,'王五':45}
'''第一种方式,使用[]'''
print(scores['张三'])
#print(scores['陈六']) #KeyError: '陈六''''第二种方式,使用get()方法'''
print(scores.get('张三'))
print(scores.get('陈六')) #None
print(scores.get('麻七',99)) #99是在查找'麻七'所对的value不存在时,提供的一个默认值

运行:

100
100
None
99

四、字典的增删改

在这里插入图片描述

'''key的判断'''
scores={'张三':100,'李四':98,'王五':45}
print('张三' in scores)
print('张三' not in scores)del scores['张三'] #删除指定的key-value对
#scores.clear() #清空字典的元素
print(scores)
scores['陈六']=98 #新增元素
print(scores)scores['陈六']=100 #修改元素
print(scores)

运行:

True
False
{'李四': 98, '王五': 45}
{'李四': 98, '王五': 45, '陈六': 98}
{'李四': 98, '王五': 45, '陈六': 100}

五、字典的视图操作

在这里插入图片描述

scores={'张三':100,'李四':98,'王五':45}
#获取所有的key
keys=scores.keys()
print(keys)
print(type(keys))
print(list(keys)) #将所有的key组成的视图转成列表#获取所有的value
values=scores.values()
print(values)
print(type(values))
print(list(values))#获取所有的key-value对
items=scores.items()
print(items)
print(list(items)) #转换之后的列表元素是由元组组成

运行:

dict_keys(['张三', '李四', '王五'])
<class &#39;dict_keys&#39;>
[&#39;张三&#39;, &#39;李四&#39;, &#39;王五&#39;]
dict_values([100, 98, 45])
<class &#39;dict_values&#39;>
[100, 98, 45]
dict_items([(&#39;张三&#39;, 100), (&#39;李四&#39;, 98), (&#39;王五&#39;, 45)])
[(&#39;张三&#39;, 100), (&#39;李四&#39;, 98), (&#39;王五&#39;, 45)]

六、字典元素的遍历

scores&#61;{&#39;张三&#39;:100,&#39;李四&#39;:98,&#39;王五&#39;:45}
#字典元素的遍历
for item in scores:print(item,scores[item],scores.get(item))

运行&#xff1a;

张三 100 100
李四 98 98
王五 45 45

七、字典的特点

在这里插入图片描述


八、字典生成式

在这里插入图片描述

items&#61;[&#39;Fruits&#39;,&#39;Books&#39;,&#39;Others&#39;]
prices&#61;[96,78,85,100,120]
#upper()是将item变成大写。
d&#61;{item.upper():price for item ,price in zip(items,prices) }
print(d)

运行&#xff1a;

{&#39;FRUITS&#39;: 96, &#39;BOOKS&#39;: 78, &#39;OTHERS&#39;: 85}



总结


推荐阅读
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
author-avatar
大永8899_226
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有