python dictionary 字典

Python 字典

字典是另一种可变容器模型,且可存储任意类型对象。

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

d = {key1 : value1, key2 : value2, key3 : value3 }

dict 作为 Python 的关键字和内置函数,变量名不建议命名为 dict。

在这里插入图片描述
键必须是唯一的,但值则不必。

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

一个简单的字典实例:

tinydict = {'name': 'csdn', 'likes': 123, 'url': 'www.csdn.com'}

也可以像下面这样创建字典:

tinydict1 = { 'abc': 456 }
tinydict2 = { 'abc': 123, 98.6: 37 }

创建空字典

使用大括号 { } 创建空字典:
示例代码如下

# 使用大括号 {} 来创建空字典
emptyDict = {}# 打印字典
print(emptyDict)# 查看字典的数量
print("Length:", len(emptyDict))# 查看类型
print(type(emptyDict))

输出如下
在这里插入图片描述
使用内建函数 dict() 创建字典:

示例代码如下

emptyDict = dict()# 打印字典
print(emptyDict)# 查看字典的数量
print("Length:",len(emptyDict))# 查看类型
print(type(emptyDict))

输出如下
在这里插入图片描述

访问字典里的值

把相应的键放入到方括号中,
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 7, 'Class': 'csdn'}print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['Age']: ", tinydict['Age'])

输出如下
在这里插入图片描述
如果用字典里没有的键访问数据,会输出错误如下:
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 7, 'Class': 'csdn'}print ("tinydict['Name']: ", tinydict['Name'])
print ("tinydict['error']: ", tinydict['error'])

输出结果

在这里插入图片描述

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对
示例如下

tinydict['Age']=18
tinydict['Class']='aliyun'
print("tinydict['Age']: ", tinydict['Age'])
print("tinydict['Class']: ", tinydict['Class'])

输出如下
在这里插入图片描述

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显式删除一个字典用del命令
示例代码如下

tinydict = {'Name': 'qayrup', 'Age': 18, 'Class': 'CSDN'}del tinydict['Name'] # 删除键 'Name'
print ("tinydict删除name", tinydict)
tinydict.clear()     # 清空字典
print ("tinydict清空", tinydict)del tinydict         # 删除字典print ("tinydict删除", tinydict)

输出如下

在这里插入图片描述

字典键的特性

字典值可以是任何的 python 对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

  1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
tinydict = {'Name': 'qayrup', 'Age': 18, 'Name':'newQayrup'}
print('tinydict' ,tinydict)

在这里插入图片描述

  1. 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

示例代码如下

tinydict1={1:'用数字当键',1.1:'浮点数当键',True:'布尔值当键'}
print(tinydict1)
tinydict2={(1,):'单元素元组当键',(1,2):"多元素元组当键"}
print(tinydict2)
tinydict3={'str':'字符串当键'}
print(tinydict3)
tinydict4={[1,2]:'列表当键'}
print(tinydict4)

输出结果如下
在这里插入图片描述

字典内置函数&方法

Python字典包含了以下内置函数:

函数描述实例
len(dict)计算字典元素个数,即键的总数。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘First’}
len(tinydict)
输出3
str(dict)输出字典,可以打印的字符串表示。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘First’}
str(tinydict)
“{‘Name’:‘qayrup’, ‘Class’: ‘CSDN’, ‘Age’: 18}”
type(variable)返回输入的变量类型,如果变量是字典就返回字典类型。tinydict = {‘Name’: ‘qayrup’, ‘Age’: 7, ‘Class’: ‘CSDN’}
type(tinydict)
<class ‘dict’>

Python字典内置方法:

函数描述
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.mzph.cn/news/709652.shtml

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

相关文章

Vue依赖注入之Provide/Inject

1. 使用<script setup> 父组件 <template><div>这里是父组件的message值:{{ message }}</div><br /><div>这里是父组件的count值:{{ count }}</div><br /><classtest /> </template> <script setup> impor…

进程间的通信

进程间的通信方式&#xff1a; 1.管道 2.信号 3.消息队列 4.共享内存 5.信号灯 6.套接字 1.管道: 1.无名管道 无名管道只能用于具有亲缘关系的进程间通信 pipe int pipe(int pipefd[2]); 功能: 创建一个无名管道 …

上班族小王的考研与考证之路

上班族小王的考研与考证之路 小王是一名普通的上班族&#xff0c;他在一家互联网公司做产品经理。工作几年后&#xff0c;他感到自己的职业发展遇到了一些瓶颈&#xff0c;想要通过进一步的学习来提升自己。 小王首先想到的是考研。他认为&#xff0c;通过考研可以获得更高的…

SpringBoot项目中如何结合Mybatis进行数据库查询

在Spring Boot项目中使用Mybatis进行数据库操作是一种常见的实现方式。下面我将展示如何在Spring Boot项目中整合Mybatis。这个示例将包括几个主要部分&#xff1a;项目依赖配置、配置文件、实体类、Mapper接口及其XML配置文件、服务类、以及一个简单的控制器。 1. 项目依赖配…

Linux Centos7配置SSH免密登录

Linux Centos7配置SSH免密登录 配置SSH免密登录说明&#xff1a; 分两步 第一步、给Server A生成密钥对 第二步、给Server B授权 生成密钥对之后&#xff0c;我们可以看看它保存的目录下的文件。 接下来我们就要把Server A&#xff08;10.1.1.74&#xff09;的公钥拷贝到Se…

AI新秀Mistral:“Open AI“ 新时代

最近互联网出现不少类似“下一代openai”、“GPT-4最强竞品”、“法国AI独角兽”、“欧洲的OpenAI”、“微软新宠儿”.... 的文章&#xff0c;都会附带一张图片&#xff0c;就是下面这张&#xff1a; 那么到底发生了什么&#xff0c;出来个什么东西呢&#xff1f;就是本文的主…

跟着cherno手搓游戏引擎【28】第一个游戏!源码解读!逐行注释!

源码解读&#xff1a; GameLayer层级&#xff1a;在构造函数中&#xff1a;创建窗口和相机&#xff0c;对随机数种子初始化&#xff1b; 在OnAttach方法中&#xff1a;初始化关卡&#xff1a;加载资源初始化地图信息&#xff1b;设置字体&#xff1b; 在OnUpdate方法中&…

大白话解析LevelDB:LRUCache

文章目录 LRUCache 的实现思路lru_ 链表table_ 哈希表in_use_ 链表 LRUCache 的代码实现LRUCache 的定义LRUHandleLRUHandle::key, LRUHandle::hash, LRUHandle::valueLRUHandle::next_hashLRUHandle::next, LRUHandle::prevLRUHandle::chargeLRUHandle::in_cacheLRUHandle::re…

【Elasticsearch查询】查询环境

文章目录 Search查询环境routing&#xff08;路由&#xff09;自适应选择副本策略全局检索超时检索取消并发搜索terminate_aftersearch_typepreferencebatched_reduce_sizeSource禁止_source字段metrics用例数据从source中筛选字段查询 Storestored_fields映射查询 track_score…

从单体服务到微服务:多模式 Web 应用开发记录<三>预初始化属性

相关文章&#xff1a; 多模式 Web 应用开发记录<一>背景&全局变量优化多模式 Web 应用开发记录<二>自己动手写一个 Struts 开头先看一个简单的例子&#xff0c;这是 ftl 文件的一个表单&#xff1a; <form id"validateForm" action"#&quo…

【第十天】C++函数对象/仿函数、谓词、适配器及常见algorithm算法

一、函数对象 重载了函数调用运算符()的类 实例化的对象叫函数对象&#xff0c;也叫仿函数。 如果函数对象 有一个参数 叫&#xff1a;一元函数对象/仿函数如果函数对象 有二个参数 叫&#xff1a;二元函数对象/仿函数如果函数对象 有三个及以上参数 叫&#xff1a;多元函数对…

windows下基于docker-desktop 安装 mysql 5.7

0.背景 docker-desktop v4.27.1Windows 11 22H2 docker-desktop 需要wsl的支持,一般win11新机子都默认开启了,安装docker-desktop 一路next即可.win10老版本需要自行安装开启wsl.一个小建议是,如果你的win10安装wsl时各种错误无法解决,建议升级到win11大概率解决,本人亲身经历…

K8S存储卷与PV,PVC

一、前言 Kubernetes&#xff08;K8s&#xff09;中的存储卷是用于在容器之间共享数据的一种机制。存储卷可以在多个Pod之间共享数据&#xff0c;并且可以保持数据的持久性&#xff0c;即使Pod被重新调度或者删除&#xff0c;数据也不会丢失。 Kubernetes支持多种类型的存储卷…

Three.js-03Vite打包入门

1.安装 说明&#xff1a;创建文件以后&#xff0c;按照提示进行操作。如cd文件夹&#xff0c;npm i ,npm run dev等操作。 npm create vitelatest 2.安装three npm i three.js 4.打开npm官网 说明:搜索three第三方库。按照案例进行操作。 5.修改App.vue文件 <script set…

2024年随想

今天2月最后一天了&#xff0c;明天就是3月了&#xff0c;年也正式算过完了吧。我也到了新的单位工作。新的开始新的工作。很高兴下个月&#xff0c;我自己的小孩就要出生了&#xff0c;我也要正式成为一名父亲了。2024年加油。

Win10Ubuntu22.04+FRP0.54搭建内网穿透

1. 下载FRP安装包&#xff0c;FRP为开源软件&#xff0c;在GITHUB可以直接下载&#xff08;选择当前最新的0.54版本&#xff09;&#xff1a;https://github.com/fatedier/frp/releases 下载windows版本安装包&#xff1a;frp_0.54.0_windows_amd64.zip 下载Linux版本安装包&am…

swift 监听状态栏frame变化

针对状态栏高度做一些操作 import UIKitclass ViewController: UIViewController {private var statusBarFrameObservation: NSKeyValueObservation?override func viewDidLoad() {super.viewDidLoad()if let statusBarManager UIApplication.shared.windows.first?.window…

golang的接口探索

1、接口是什么? 在Go语言中,接口是一种类型。抽象地定义了一组方法签名,但不实现这些方法。接口类型指定了一个值应该有哪些方法,因此,任何具有这些方法的类型都自动满足该接口。 在 Go 语言的语义上,只要某个类型实现了所定义的一组方法集,则就认为其就是同一种类型,…

Rocky Linux 运维工具 chown

一、chown 的简介 chown 用于更改文件或目录的所有者&#xff08;owner&#xff09;身份。通过 chown 命令&#xff0c;可以将文件或目录的所有权转移给另一个用户或组&#xff0c;从而控制对该文件或目录的访问和权限。 二、chown 的参数说明 使用语法&#xff1a;chown [新所…

算法刷题day19

目录 引言一、因数平方和二、爬树的甲壳虫三、改变数组元素 引言 这几道题主要都是考察数学&#xff0c;如果数学学的不好&#xff0c;推不出来公式&#xff0c;或者是你的数学思维不好都是做不出来的&#xff0c;所以说数学真的很重要&#xff0c;不过其实能考的数学也就那几…