当前位置: 首页 > news >正文

Python语言零基础入门教程(十三)

Python 字典(Dictionary)

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

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

d = {key1 : value1, key2 : value2 }

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

键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>> tinydict = {'a': 1, 'b': 2, 'b': '3'}
>>> tinydict['b']
'3'
>>> tinydict
{'a': 1, 'b': '3'}

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

一个简单的字典实例:

tinydict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

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

访问字典里的值

把相应的键放入熟悉的方括弧,如下实例:

#!/usr/bin/pythontinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']

以上实例输出结果:

tinydict['Name']:  Zara
tinydict['Age']:  7

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

#!/usr/bin/pythontinydict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}print "tinydict['Alice']: ", tinydict['Alice']

以上实例输出结果:

tinydict['Alice']: 
Traceback (most recent call last):File "test.py", line 5, in <module>print "tinydict['Alice']: ", tinydict['Alice']
KeyError: 'Alice'

修改字典

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加print "tinydict['Age']: ", tinydict['Age']
print "tinydict['School']: ", tinydict['School']

以上实例输出结果:

tinydict['Age']:  8
tinydict['School']:  RUNOOB

删除字典元素

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

显示删除一个字典用del命令,如下实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典print "tinydict['Age']: ", tinydict['Age'] 
print "tinydict['School']: ", tinydict['School']

但这会引发一个异常,因为用del后字典不再存在:

tinydict['Age']: 
Traceback (most recent call last):File "test.py", line 10, in <module>print "tinydict['Age']: ", tinydict['Age'] 
NameError: name 'tinydict' is not defined

注:del() 方法后面也会讨论。

字典键的特性

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

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

#!/usr/bin/pythontinydict = {'Name': 'Runoob', 'Age': 7, 'Name': 'Manni'} print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

tinydict['Name']:  Manni

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

#!/usr/bin/pythontinydict = {['Name']: 'Zara', 'Age': 7} print "tinydict['Name']: ", tinydict['Name']

以上实例输出结果:

Traceback (most recent call last):File "test.py", line 3, in <module>tinydict = {['Name']: 'Zara', 'Age': 7} 
TypeError: unhashable type: 'list'

字典内置函数&方法

Python字典包含了以下内置函数:
在这里插入图片描述
Python字典包含了以下内置方法:
在这里插入图片描述
在这里插入图片描述

相关文章:

Python语言零基础入门教程(十三)

Python 字典(Dictionary) 字典是另一种可变容器模型&#xff0c;且可存储任意类型对象。 字典的每个键值 key:value 对用冒号 : 分割&#xff0c;每个键值对之间用逗号 , 分割&#xff0c;整个字典包括在花括号 {} 中 ,格式如下所示&#xff1a; d {key1 : value1, key2 : …...

江苏五年制专转本应该复习几轮?

五年制专转本应该复习几轮&#xff1f; 据调查统计&#xff1a;2022年专转本17%的考生复习三轮及以上&#xff0c;23%的考生复习了两轮。这两类的考生录取率高至85%。可见复习轮数多&#xff0c;专转本上岸的概率也大。综合多方因素&#xff0c;建议同学们专转本复习四轮&#…...

微信小程序的优化方案之主包与分包的研究

什么是分包&#xff1f; 某些情况下&#xff0c;开发者需要将小程序划分成不同的子包&#xff0c;在构建时打包成不同的分包&#xff0c;用户在使用时按需进行加载。 在构建小程序分包项目时&#xff0c;构建会输出一个或多个分包。每个使用分包小程序必定含有一个主包。所谓的…...

从手工测试转型web自动化测试继而转型成专门做自动化测试的学习路线。

在开始之前先自学两个工具 商业web自动化测试工具请自学QTP&#xff1b;QTP的学习可以跳过&#xff0c;我是跳过了的。 开源web自动化测试工具请自学Selenium&#xff1b;我当年是先学watir&#xff08;耗时1周&#xff09;&#xff0c;再学selenium&#xff08;也耗时1周&…...

【计组笔记03】计算机组成原理之系统五大部件介绍、主存模型和CPU结构介绍

这篇文章,主要介绍计算机组成原理之系统五大部件、主存模型和CPU结构。 目录 一、计算机五大部件 1.1、体系结构 (1)冯诺依曼体系结构...

微信小程序解析用户加密数据

微信公众号 IT果果日记前言在上一篇文章“微信小程序如何获取用户信息”中我们完成了用户明文数据的校验工作&#xff0c;本文将学习解密用户的非明文用户信息&#xff0c;也就是获取用户的openId和unionId。解密调用wx.getUserProfile后将返回encryptedData和iv两个数据。encr…...

毕业四年换了3份软件测试工作,我为何仍焦虑?

​今天一看日历&#xff1a;2023.2.11 &#xff0c;才突然意识到自己毕业已经四年了。四年时间里一直在测试行业摸爬滚打&#xff0c;现在是时候记录一下了。 下面我来分享下我这4年软件测试经验及成长历程&#xff0c;或许能帮助你解决很多工作中的迷惑。 01、我是如何开始做…...

嵌入式C基础知识(7)

是否可以传递任何参数并从 ISR 返回值不可以。不能传递任何参数并从 ISR 返回值。 ISR 不返回任何内容&#xff0c;并且不允许传递任何参数。 当硬件或软件事件发生时调用 ISR&#xff0c;而代码不会调用它。 这就是为什么不向 ISR 传递参数的原因。 由于代码不调用 ISR&#x…...

大数据系列之:安装pulsar详细步骤

大数据系列之&#xff1a;安装pulsar详细步骤一、Pulsar版本和jdk对应关系二、安装JDK三、设置和激活jdk环境变量四、下载和解压Pulsar五、查看Pulsar目录六、启动Pulsar standalone cluster七、创建Kafka Topic八、往Topic写入数据九、消费pulsar的Topic一、Pulsar版本和jdk对…...

色彩-基础理论

颜色三大指标 色相 色相是颜色的一个属性&#xff0c;只有黑白灰没有色相这个属性(那银灰色是什么&#xff1f;) 颜色的相貌&#xff0c;指的也是给颜色一个名字 例如&#xff1a;暗红、酒红、土黄、墨绿 饱和度 颜色的鲜艳程度 纯度 饱和度主要取决于含色成分和消色成分&a…...

1629_MIT_6.828_xv6_chapter1操作系统的组织

全部学习汇总&#xff1a;GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次整理一下操作系统组织相关的知识&#xff0c;主要还是xv6教学操作系统相关的知识。当然&#xff0c;很多知识在这类技术领域是通用的。 1. 操作系统的主要功能…...

基于Golang哈希算法监控配置文件变化

SHA(secure hashing algorithm)表示安全哈希算法.SHA是MD5的修正版本&#xff0c;用于数据摘要和认证。哈希和加密类似&#xff0c;唯一区别是哈希是单项的&#xff0c;即哈希后的数据无法解密。SHA有不同的算法&#xff0c;主要包括SHA-1, SHA-2, SHA-256, SHA-512, SHA-224, …...

关于一笔画问题的一些思考(欧拉路Fleury算法、逐步插入回路法、以及另一种可能的解法)

前言这是一个经典的图论问题了最近复习离散的时候又恰好看到了&#xff0c;发现自己以前的解法似乎有点bug然后开始出反例卡自己&#xff0c;结果发现卡不掉&#xff1f;然后再好好想了想&#xff0c;发现这个看起来有问题的做法可能确实没问题。注意&#xff1a;欧拉路、欧拉回…...

vlookup怎么用详细步骤,看这一篇就够了

1、vlookup函数&#xff1a;使用方法 以下便是vlookup函数&#xff0c;功能、语法和参数用法&#xff1a; excel函数vlookup 2、vlookup函数&#xff1a;查询参数 首先&#xff0c;选中F2单元格&#xff0c;然后在编辑栏输入函数公式&#xff1a;VLOOKUP(E2&#xff0c;B&…...

雅思经验(9)之小作文常用词汇总结

写作&#xff1a;关于趋势的上升和下降在小作文中&#xff0c;真的是非常常见的&#xff0c;所以还是要积累一下。下面给出了很多词&#xff0c;但是在雅思写作中并不是词越丰富&#xff0c;分数就越高的。雅思写作强调的是准确性&#xff1a;在合适的地方用合适的词和句法。不…...

【Python语言基础】——Python NumPy 数组创建

Python语言基础——Python NumPy 数组创建 文章目录 Python语言基础——Python NumPy 数组创建一、Python NumPy 数组创建一、Python NumPy 数组创建 创建 NumPy ndarray 对象 NumPy 用于处理数组。 NumPy 中的数组对象称为 ndarray。 我们可以使用 array() 函数创建一个 NumP…...

【大数据】Hadoop-Kms 安装及相关详细配置,看完你就会了

简介 Hadoop KMS是基于Hadoop的KeyProvider API的加密密钥管理服务器&#xff0c;它提供了使用REST API通过HTTP进行通信的客户端和服务器组件。 客户端是一个KeyProvider实现&#xff0c;使用KMS HTTP REST API与KMS交互。 KMS及其客户端具有内置的安全性&#xff0c;它们支…...

SpringCloud分布式框架

SpringCloud分布式框架 SpringCloud框架 Spring Cloud 是一个用于创建分布式系统的开源框架。它基于 Spring Boot 和 Spring Framework&#xff0c;提供了一整套关于分布式系统的工具和技术。 Spring Cloud 是微服务架构的一种实现方式&#xff0c;它提供了一整套完整的技术…...

Csss属性display,visibility区别,对渲染页面的影响

display: none; 与 visibility: hidden; 的区别 相同&#xff1a; 它们都能让元素不可见 区别&#xff1a;display:none;会让元素完全从渲染树中消失&#xff0c;渲染的时候不占据任何空间&#xff1b; visibility: hidden;不会让元素从渲染树消失&#xff0c;渲染时元素继续…...

怎么给笔记本电脑外接两台显示器?

我们在办公室会看见不少同事的电脑不止一台显示器&#xff0c;多屏确实可以提高工作效率。有的游戏党也会选择给电脑外接显示器&#xff0c;带来绝佳的体验。 不过要怎么把将外部显示器连接到笔记本电脑上&#xff1f;驱动人生在这里教给大家给笔记本外接显示器的做法。 一、…...

uniApp离线打包实战避坑指南

1. 离线打包前的环境准备 第一次接触uniApp离线打包时&#xff0c;我踩过的第一个坑就是环境配置。当时以为只要安装了Android Studio就能万事大吉&#xff0c;结果编译时各种报错接踵而至。后来才发现&#xff0c;离线打包对开发环境的版本匹配要求极为严格&#xff0c;差一个…...

Deformable-DETR环境配置避坑:如何正确设置CUDA_HOME解决ms_deformable_im2col_cuda报错

Deformable-DETR环境配置实战&#xff1a;从CUDA路径排查到高效编译 当你第一次尝试运行Deformable-DETR这个强大的目标检测框架时&#xff0c;是否也遇到了那个令人头疼的报错&#xff1a;"error in ms_deformable_im2col_cuda: no kernel image is available for execut…...

2025年开源工具jable-download:视频下载工具高效解决方案

2025年开源工具jable-download&#xff1a;视频下载工具高效解决方案 【免费下载链接】jable-download 方便下载jable的小工具 项目地址: https://gitcode.com/gh_mirrors/ja/jable-download 在数字化内容消费日益增长的今天&#xff0c;视频资源的获取与保存成为许多用…...

算法基础篇(11)Floyd算法

Floyd算法本质是动态规划&#xff0c;用来求任意两点之间的最短路&#xff0c;也称为插点法。通过不断在两点之间加入新的点来更新最短路。1、状态表示&#xff1a;f[k][i][j]表示&#xff1a;仅仅经过1~k这些点&#xff0c;结点i走到结点j的最短路径的长度。2、状态转移方程&a…...

3步掌握PAGExporter:After Effects动画高效导出完整指南

3步掌握PAGExporter&#xff1a;After Effects动画高效导出完整指南 【免费下载链接】libpag The official rendering library for PAG (Portable Animated Graphics) files that renders After Effects animations natively across multiple platforms. 项目地址: https://g…...

终极指南:掌握JSON-BigInt解决JavaScript大整数精度丢失问题

终极指南&#xff1a;掌握JSON-BigInt解决JavaScript大整数精度丢失问题 【免费下载链接】json-bigint JSON.parse/stringify with bigints support 项目地址: https://gitcode.com/gh_mirrors/js/json-bigint 在JavaScript开发中&#xff0c;你是否遇到过处理大整数时精…...

从按键消抖到I2C通信:深入浅出聊聊MCU上拉/下拉电阻与开漏输出的那些坑

从按键消抖到I2C通信&#xff1a;深入浅出聊聊MCU上拉/下拉电阻与开漏输出的那些坑 在嵌入式系统开发中&#xff0c;GPIO配置看似简单&#xff0c;却暗藏玄机。记得第一次调试I2C总线时&#xff0c;通信速率始终上不去&#xff0c;最后发现竟是上拉电阻选型不当&#xff1b;另一…...

通用多模态检索——大模型微调

1、7B的模型&#xff0c;参数量就占到了16G&#xff0c;而且你要检索&#xff0c;要把所有的候选项candidate全部变成向量嵌入&#xff0c;然后计算相似度&#xff0c;3090的24G显存很容易爆&#xff0c;而且数据量一旦大了一点&#xff0c;达到几万&#xff0c;基本就很难跑通…...

Mermaid在线编辑器完整指南:3步制作专业图表零基础入门

Mermaid在线编辑器完整指南&#xff1a;3步制作专业图表零基础入门 【免费下载链接】mermaid-live-editor Edit, preview and share mermaid charts/diagrams. New implementation of the live editor. 项目地址: https://gitcode.com/GitHub_Trending/me/mermaid-live-edito…...

5分钟搞定!用Docker Compose一键部署Penpot设计协作平台(含SMTP配置避坑指南)

5分钟极速部署Penpot&#xff1a;Docker Compose全流程指南与SMTP实战避坑 中小团队在设计协作工具选型时&#xff0c;往往陷入两难&#xff1a;商业软件成本高昂&#xff0c;开源方案部署复杂。Penpot作为Figma的开源替代品&#xff0c;凭借其完整的协作功能和零成本优势&…...