热门标签 | 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}



总结


推荐阅读
  • C#实现文件的压缩与解压
    2019独角兽企业重金招聘Python工程师标准一、准备工作1、下载ICSharpCode.SharpZipLib.dll文件2、项目中引用这个dll二、文件压缩与解压共用类 ... [详细]
  • 本指南从零开始介绍Scala编程语言的基础知识,重点讲解了Scala解释器REPL(读取-求值-打印-循环)的使用方法。REPL是Scala开发中的重要工具,能够帮助初学者快速理解和实践Scala的基本语法和特性。通过详细的示例和练习,读者将能够熟练掌握Scala的基础概念和编程技巧。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本项目通过Python编程实现了一个简单的汇率转换器v1.02。主要内容包括:1. Python的基本语法元素:(1)缩进:用于表示代码的层次结构,是Python中定义程序框架的唯一方式;(2)注释:提供开发者说明信息,不参与实际运行,通常每个代码块添加一个注释;(3)常量和变量:用于存储和操作数据,是程序执行过程中的重要组成部分。此外,项目还涉及了函数定义、用户输入处理和异常捕获等高级特性,以确保程序的健壮性和易用性。 ... [详细]
  • 每年,意甲、德甲、英超和西甲等各大足球联赛的赛程表都是球迷们关注的焦点。本文通过 Python 编程实现了一种生成赛程表的方法,该方法基于蛇形环算法。具体而言,将所有球队排列成两列的环形结构,左侧球队对阵右侧球队,首支队伍固定不动,其余队伍按顺时针方向循环移动,从而确保每场比赛不重复。此算法不仅高效,而且易于实现,为赛程安排提供了可靠的解决方案。 ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 机器学习算法:SVM(支持向量机)
    SVM算法(SupportVectorMachine,支持向量机)的核心思想有2点:1、如果数据线性可分,那么基于最大间隔的方式来确定超平面,以确保全局最优, ... [详细]
  • ECharts 官方提供了丰富的图表示例,但实际项目中往往需要从后端动态获取数据。本文将详细介绍如何从后端获取数据并将其转换为 ECharts 所需的 JSON 格式,以实现动态饼图的展示。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • Visual Studio Code (VSCode) 是一款功能强大的源代码编辑器,支持多种编程语言,具备丰富的扩展生态。本文将详细介绍如何在 macOS 上安装、配置并使用 VSCode。 ... [详细]
  • 【问题】在Android开发中,当为EditText添加TextWatcher并实现onTextChanged方法时,会遇到一个问题:即使只对EditText进行一次修改(例如使用删除键删除一个字符),该方法也会被频繁触发。这不仅影响性能,还可能导致逻辑错误。本文将探讨这一问题的原因,并提供有效的解决方案,包括使用Handler或计时器来限制方法的调用频率,以及通过自定义TextWatcher来优化事件处理,从而提高应用的稳定性和用户体验。 ... [详细]
  • 本文介绍了如何利用ObjectMapper实现JSON与JavaBean之间的高效转换。ObjectMapper是Jackson库的核心组件,能够便捷地将Java对象序列化为JSON格式,并支持从JSON、XML以及文件等多种数据源反序列化为Java对象。此外,还探讨了在实际应用中如何优化转换性能,以提升系统整体效率。 ... [详细]
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社区 版权所有