Python学习笔记——字典

news2025/1/18 16:52:58
字典是一种映射类型 ,它是一个无序的集合。内部元素是键值对形式出现,即一个关键字(key)与一个值(value)的组合(“键-值”对)。
  • 字典是一种可变容器模型,且可存储任意类型对象。

  • 字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {}

  • 键必须是唯一的,但值则不必。

  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字。

使用字典

访问字典中的值

根据键获取与键相关联的值

#!/usr/bin/python3
 
color = {'color1': 'green', 'color1': 'red', 'color3': '字典'}
 
print ("color['color1']: ", color['color1'])

注意:如果用字典里没有的键访问数据,会输出错误

修改、添加字典

字典是一种动态结构,可随时在其中添加键 — 值对。因为字典中的元素是无序的,所以新加的键值对并不一定是在最后位置。

#!/usr/bin/python3
 
tinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8               # 更新 Age
tinydict['School'] = "菜鸟教程"    # 添加信息
 
print ("tinydict['Age']: ", tinydict['Age'])            #tinydict['Age']:  8
print ("tinydict['School']: ", tinydict['School'])      #tinydict['School']:  菜鸟教程

创建空字典

使用字典来存储用户提供的数据或在编写能自动生成大量键 — 值对的代码时,通常都需要先定义一个空字典。

  1. 使用大括号 { } 创建空字典:emptyDict = {}

  1. 使用内建函数 dict() 创建字典:emptyDict = dict()

删除字典元素

要删除字典中的元素或整个字典,可以使用del命令、clear()、pop()和popitem()方法。

  1. del命令可根据“键”删除字典中的元素。

  1. clear()方法用于清除字典中的所有元素。

  1. pop()方法用于获取指定“键”的值,并将这个“键-值”对从字典中移除。

#default是默认值,当字典中没有要被删除的key时,该方法返回指定的默认值
dict.pop(key[,default])
  1. popitem()方法用于随机获取一个“键-值”对,并将其删除。

字典的内置方法

内置函数:

len(dict):计算字典元素个数,即键的总数。

str(dict):输出字典,可以打印的字符串表示。

type(variable):返回输入的变量类型,如果变量是字典就返回字典类型。

内置方法:

dict.clear():删除字典内所有元素

dict.copy():返回一个字典的浅复制

dict.fromkeys():创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

dict.get(key, default=None):返回指定键的值,如果键不在字典中返回 default 设置的默认值

key in dict:如果键在字典dict里返回true,否则返回false

dict.items():以列表返回一个视图对象

dict.keys():返回一个视图对象

dict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

dict.update(dict2):把字典dict2的键/值对更新到dict里

dict.values():返回一个视图对象

pop(key[,default]):删除字典 key(键)所对应的值,返回被删除的值。

popitem():返回并删除字典中的最后一对键和值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/161763.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频在线点播功能如何实现?

1. 视频点播需求分析1.1 需求描述视频点播需求如下:1、学生可以在windows浏览器上在线观看视频。2、播放器具有快进、快退、暂停等基本功能。1.2 视频点播解决方案1.2.1 流媒体详细参考:https://baike.baidu.com/item/%E6%B5%81%E5%AA%92%E4%BD%93/98740…

2023年网络安全比赛--网络安全应急响应中职组(超详细)

一、竞赛时间 180分钟 共计3小时 二、竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1.找出被黑客修改的系统别名,并将倒数第二个别名作为Flag值提交; 2.找出系统中被植入的后门用户删除掉,并将后门用户的账号作为Flag值提交(多个用户名之间以英文逗号分割,如:admi…

【项目】小帽教育(一)

小帽教育 第一章 项目开发环境搭建 一、项目背景 1.在线教育市场环境 在线教育行业是一个有着极强的广度和深度的行业,从校内到校外;从早幼教到职业培训;从教育工具到全信息化平台等等。 2020年的新冠疫情外生冲击,让在线教育…

Android 深入系统完全讲解(14)

2 如何定位编译问题 编译不出来,编译不生效,都是可以用比对的方式去处理。之前遇见只改资源单编译不生效,跟正常的一比较发现是系统编译机制是判断代码的时间戳,而不管资源目录,于是处理的方式就是单编配置强制&#…

过年了,我采集采集m3u8格式做做动态壁纸不过分吧

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 首先澄清一下,我用Python收集这些视频,绝不是想做别的什么, 真的只是用来做动态壁纸,大家不要误会!我不是那样的人~ 这样的不过份吧 😻 环境 Python…

二叉树的深度 | 分治 +回溯 + 迭代

二叉树的最大深度 leetcode https://leetcode.cn/problems/maximum-depth-of-binary-tree/ 回溯基本思路 二叉树的最大深度就是 : 从根节点到叶子节点的最大的深度 定义一个全局变量 int res 0 , 以及局部变量 depth 表示当前层的深度当我们访问到根节点的时候(前序位置), 就…

亿信华辰出席2022DAMA中国数据管理峰会,共话数据治理

2023年1月7日-8日,万众瞩目的2022DAMA中国数据管理峰会在上海成功举办,国内外知名行业领袖、业内优秀企业代表出席了会议。会上,围绕 “数据基础制度和数字化转型”主题,前沿观点高能碰撞、专家学者共话未来。亿信华辰首席运营官毛…

CTP开发(1)CTP开发的概述

CTP是上海期货交易所开发的一套程序化交易的API。这篇文章呢,是进行扫盲和引路的,让你在开发时可以少走弯路。1、如果你要进行CTP开发,那么先是在模拟环境下调试,这就需要去上期的仿真模拟网站simnow下载相应的API包。地址如下&am…

[数字信号处理]时域中的离散时间信号和系统

离散时间信号最基本的形式是定义在等间隔的时间离散值上,且在这些离散时间上的信号振幅值是连续的。离散时间系统则是输入为离散时间信号输出也是离散时间信号的系统。对于线性时不变(LTI)系统来说,我们可以发现LTI系统与该系统的…

【4】Kubesphere_多租户

目录 创建企业空间角色 邀请新成员 部门管理 准备工作 创建部门 分配用户至部门 从部门中移除用户 删除和编辑部门 进入访问控制 可以配置企业空间、用户和用户角色 企业空间角色页面列出了以下四个可用的内置角色。创建企业空间时,KubeSphere 会自动创建内…

对称加密面临的那些挑战

密码对于多数人,是既熟悉又陌生的存在,注册账户、登录账号、网购,网络上的开展大多数行为都需要基于输入密码这一前提,从这方面谈,我们熟悉且熟知密码。然而这些由简单的字母、数字、符号等构成的简单口令,…

Spring Data默认值的错误

Spring Data有很多配置的默认值,但不一定都适合你。如一个依赖Cassandra 的项目,有时写入数据后,并不能立马读到。这种错误并没有什么报错,一切都是正常的,就是读不到数据。 1 源码解析 直接使用 Spring Data Cassan…

化繁为简,数字化推动企业数据库升级焕新 | 爱分析报告

报告编委 黄勇 爱分析合伙人&首席分析师 洪逸群 爱分析高级分析师 张良筠 爱分析分析师 外部专家(按姓氏拼音排序) 李远志 柏睿数据 副总裁 谢寅 镜舟科技 资深解决方案架构师 许哲 中信建投证券 数据组VP 姚延栋 YMatrix 创始人&CEO 张晨…

实体店店铺管理软件应该怎么挑?有这几个功能的错不了!

现在开实体店的都是勇士,不仅要和同行竞争,还要和电商、直播竞争,没有点秘密武器根本不能生存。秘密武器之一,就是在做生意路上摸爬滚打多年的实体店老板们都在用的——实体店店铺管理软件!它会帮助你从手工记账迈入智…

【敲敲云】零代码平台快速入门指南 — 下篇

敲敲云快速入门指南—上篇,我们已经介绍了工作表、视图的使用,现在我们再来看一下自动化工作流和仪表盘的使用 6、创建自动化工作流 工作流是由触发器和若干自动化任务节点组成。为触发器设置一个触发条件,当数据的变更符合触发条件时&#…

Linux系统中的文件查看和查询命令

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:Java案例分…

向“全栈”进发,大型线上商城实战项目,Spring Boot + Vue 前后端分离版本的商城来了(文末有视频)

新蜂商城 Vue 版本,它来了!(文末有视频) 如上图所示,新蜂商城 Vue 版本已经开发完成,这是新蜂商城开源项目的第一个大版本更新,根据大量的用户调研,最终决定将新蜂商城升级为 Spring…

DC-2 靶场实操

靶场搭建 ​ 靶场部署 下载网址:https://www.vulnhub.com/?qDC- tips:强烈建议各位师傅们使用迅雷或idm要不然下载靶场将是一个十分痛苦的环节 之后环境搭建操作步骤一致故此处搭建环境以DC-1为例 将下好的压缩包解压,你就会看到一个.ov…

堆排序(升序降序)

堆排序是利用堆这种数据结构而设计的一种排序算法&#xff0c;堆排序是一种选择排序&#xff0c;它的最坏、最好、平均时间复杂度均为O(nlogn)&#xff0c;是不稳定排序。 小根堆&#xff08;最小堆&#xff09;&#xff1a;每个结点的值都<其左右孩子结点的值。 大根堆&…

跨境电商独立站多语言,fecify saas商城解决方案

跨境独立站&#xff0c;面向的是全球国家&#xff0c;每个国家都有自己的语言&#xff0c;譬如&#xff1a;英语&#xff0c;德语&#xff0c;法语&#xff0c;俄语&#xff0c;西班牙语&#xff0c;葡萄牙语&#xff0c;韩语&#xff0c;日语&#xff0c;阿拉伯语&#xff0c;…