无涯教程-Python - Dictionary(字典)

news2024/11/15 17:32:39

每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括起来。一个没有任何元素的空字典用两个大括号书写,如:{}。

键在字典中是唯一的,而值可能不是。字典的值可以是任何类型,但是键必须是不可变的数据类型,如字符串,数字或元组。

访问字典值

要访问字典元素,您可以使用熟悉的方括号和键来获取其值。

#!/usr/bin/python

dict={Name: Zara, Age: 7, Class: First}
print "dict[Name]: ", dict[Name]
print "dict[Age]: ", dict[Age]

执行以上代码后,将产生以下输出-

dict[Name]:  Zara
dict[Age]:  7

如果无涯教程尝试使用不属于字典的键来访问数据项,则会出现如下错误:

#!/usr/bin/python

dict={Name: Zara, Age: 7, Class: First}
print "dict[Alice]: ", dict[Alice]

执行以上代码后,将产生以下输出-

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

更新字典元素

您可以通过添加新元素或键值对,修改现有元素或删除现有元素来更新字典:

#!/usr/bin/python

dict={Name: Zara, Age: 7, Class: First}
dict[Age]=8; # update existing entry
dict[School]="DPS School"; # Add new entry

print "dict[Age]: ", dict[Age]
print "dict[School]: ", dict[School]

执行以上代码后,将产生以下输出-

dict[Age]:  8
dict[School]:  DPS School

删除字典元素

要显式删除整个字典,只需使用 del 语句。

#!/usr/bin/python

dict={Name: Zara, Age: 7, Class: First}
del dict[Name]; # 使用键“Name”删除元素
dict.clear();     # 删除dict中的所有元素
del dict ;        # 删除整个字典

print "dict[Age]: ", dict[Age]
print "dict[School]: ", dict[School]

这将产生以下输出。请注意,引发异常是因为在 del dict 字典之后不再存在-

dict[Age]:
Traceback (most recent call last):
   File "test.py", line 8, in <module>
      print "dict[Age]: ", dict[Age];
TypeError: type object is unsubscriptable

注意-del()方法将在后续部分中讨论。

字典键属性

字典值没有限制。它们可以是任意的Python对象,可以是标准对象或用户定义的对象。但是,对于key来说并非如此。

关于字典key键,有两点要记住-

(a)不允许每个key有多个元素。这意味着不允许重复的key。如果在分配过程中遇到重复的key,则后面的会覆盖前面的。如-

#!/usr/bin/python

dict={Name: Zara, Age: 7, Name: Manni}
print "dict[Name]: ", dict[Name]

执行以上代码后,将产生以下输出-

dict[Name]:  Manni

(b)key必须是不变的。这意味着您可以将字符串,数字或元组用作字典key,但不允许使用[key]之类的东西。

#!/usr/bin/python

dict={[Name]: Zara, Age: 7}
print "dict[Name]: ", dict[Name]

执行以上代码后,将产生以下输出-

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

内置函数列表

Python包含以下字典函数-

产品编号具有描述功能
1 cmp(dict1,dict2)

比较两个字典的元素。

2 len(dict)

给出字典的总长度。这将等于字典中的元素数。

3 str(dict)

产生字典的可打印字符串表示形式

4 type(variable)

返回所传递变量的类型。如果传递的变量是字典,则它将返回字典类型。

Python包括以下字典方法-

产品编号。带有说明的方法
1 dict.clear()

删除字典 dict的所有元素

2 dict.copy()

返回字典 dict的浅表副本

3 dict.fromkeys()

使用seq键和将 set 设置为 value 的键来创建新字典。

4 dict.get(key,default=None)

对于键键,如果键不在词典中,则返回值或默认值

5 dict.has_key(key)

如果在字典 dict 中键入键,则返回 true ,否则返回 false

6 dict.items()

返回 dict 的(键,值)元组对的列表

7 dict.keys()

返回字典字典键的列表

8 dict.setdefault(key,default=None)

类似于get(),但如果 key 不在dict中,则会设置dict [key]=default

9 dict.update(dict2)

将字典 dict2 的键值对添加到 dict

10 dict.values()

返回字典 dict 的值列表

Python - Dictionary(字典) - 无涯教程网无涯教程网提供每个键都由一个冒号(:)与其值分隔,各元素之间以逗号分隔,并且整个内容都用花括号括...https://www.learnfk.com/python/python-dictionary.html

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

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

相关文章

【机器学习7】特征缩放

特征缩放 &#x1f340;特征缩放的重要性&#x1f331;归一化&#x1f331;标准化&#x1f331;更高级的缩放方法&#x1f338;导入数据集&将数据集划分为训练集和测试集&#x1f338;Sklearn-Learn算法实现归一化&#x1f338;Sklearn-Learn算法实现标准化 &#x1f340;特…

Activity 的启动流程(Android 13)

Activity 的启动过程分为两种&#xff1a;一种是普通 Activity 的启动过程&#xff0c;另一种是根 Activity 的启动过程。普通 Activity 指的是除应用程序启动的第一个 Activity 之外的其他 Activity。根 Activity 指的是应用程序启动的第一个 Activity&#xff0c;因此&#x…

春秋云镜 :CVE-2020-21650(MyuCMS后台rce)

一、题目 靶标介绍&#xff1a; MyuCMS开源内容管理系统,采用ThinkPHP开发而成的社区商城聚合&#xff0c;插件&#xff0c;模板&#xff0c;轻便快捷容易扩展 其2.2版本中admin.php/config/add方法存在任意命令执行漏洞. 进入题目&#xff1a; exp&#xff1a; url/index.p…

计算机网络 QA

DNS 的解析过程 浏览器缓存。当用户通过浏览器访问某域名时&#xff0c;浏览器首先会在自己的缓存中查找是否有该域名对应的 IP 地址&#xff08;曾经访问过该域名并且没有清空缓存&#xff09;系统缓存。当浏览器缓存中无域名对应的 IP 地址时&#xff0c;会自动检测用户计算机…

opencv 进阶20-随机森林示例

OpenCV中的随机森林是一种强大的机器学习算法&#xff0c;旨在解决分类和回归问题。随机森林使用多个决策树来进行预测&#xff0c;每个决策树都是由随机选择的样本和特征组成的。在分类问题中&#xff0c;随机森林通过投票来确定最终的类别&#xff1b;在回归问题中&#xff0…

Blazor组件化开发心得:Blazor开发套路

文章目录 前言Blazor开发套路文件分类示意图 如何分工 前言 接触Blazor也快有一个多月了&#xff0c;了解Blazor之后发现确实是个好东西&#xff0c;开发速度太快了&#xff0c;前端直接拿数据&#xff0c;通过SSR保证安全。但是有一个问题&#xff0c;服务器能承受多大的压力…

Spark项目Java和Scala混合打包编译

文章目录 项目结构Pom完整文件编译查看 实际开发用有时候引用自己写的一些java工具类&#xff0c;但是整个项目是scala开发的spark程序&#xff0c;在项目打包时需要考虑到java和scala混合在一起编译。 今天看到之前很久之前写的一些打包编译文章&#xff0c;发现很多地方不太对…

【资料分享】基于NXP i.MX 8M Plus的异构多核核心板规格书

1 核心板简介 创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 单核ARM Cortex-M7异构多核处理器设计的高端工业核心板&#xff0c;ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz&#xff0c;ARM Cortex-M7实时处理单元主频高达800MHz。处理器采用14…

【Java】代理实现重试功能

在有些调用http请求功能中&#xff0c;会因为网络的抖动&#xff0c;使得网络不稳定。这时需要一个功能来实现重试。 下面介绍使用JDK的代理功能和Cglib来实现简单的代理重试。 JDK的代理需要被代理的类实现接口&#xff0c;下面的newProxyInstance代码中需要interfaces参数&am…

element-table的动态操作,自动以表格,动态新增行、列,删除行列

灵活的自定义表格行列以及增删改查的操作,右键选中列则是列的删除&#xff0c;效果如下 <template><div class"st-table"><div style"width: 100%"><el-button click"addRow()" type"primary" icon"CircleP…

深入理解android线程池实现原理

为什么要引入线程池 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗提高响应速度。当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行提高线程的可管理性。线程是稀缺资源&#xff0c;如果无限制的创建&#xff0c;不仅会消耗系统的资源…

大学资产管理,这个细节真的很绝!

无论是个人还是企业&#xff0c;资产都是其成功的基石。通过资产管理系统&#xff0c;个人可以更好地管理他们的投资组合&#xff0c;实现财务目标。 对于企业而言&#xff0c;资产管理系统有助于提高资源利用效率&#xff0c;减少损失和浪费&#xff0c;优化生产和运营流程。 …

深度学习处理文本(NLP)

文章目录 引言1. 反向传播1.1 实例流程实现1.2 前向传播1.3 计算损失1.4 反向传播误差1.5 更新权重1.6 迭代1.7 BackPropagation & Adam 代码实例 2. 优化器 -- Adam2.1 Adam解析2.2 代码实例 3. NLP任务4. 神经网络处理文本4.1 step1 字符数值化4.2 step 2 矩阵转化为向量…

javaWeb差缺补漏(一)【针对于自身知识点掌握情况】

前端三大件部分 1、a标签的target属性iframe标签的name属性 2、textarea标签&#xff1a;表示多行文本输入。起始标签和结束标签中的内容是默认值。 rows&#xff1a;属性设置可以显示多少行。 cols&#xff1a;属性设置每行显示多少列。 3、form表单的action提交的时候&a…

LC-1267. 统计参与通信的服务器(枚举 + 计数)

1267. 统计参与通信的服务器 中等 这里有一幅服务器分布图&#xff0c;服务器的位置标识在 m * n 的整数矩阵网格 grid 中&#xff0c;1 表示单元格上有服务器&#xff0c;0 表示没有。 如果两台服务器位于同一行或者同一列&#xff0c;我们就认为它们之间可以进行通信。 请…

服务器数据恢复-ESXi虚拟化误删除的数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器安装的ESXi虚拟化系统&#xff0c;该虚拟化系统连接了多个LUN&#xff0c;其中一个LUN上运行了数台虚拟机&#xff0c;虚拟机安装Windows Server操作系统。 服务器故障&分析&#xff1a; 管理员因误操作删除了一台虚拟机&#x…

苹果iPhone 15 Ultra和iPhone 15 Pro Max:新名字是否值得期待?

我们即将发现一个名字里有什么,至少如果一个关于iPhone 15 Pro Max的新谣言被证明是准确的。一份新的报告表明,当这款手机可能在苹果9月的发布会上首次亮相时,苹果可能会放弃Pro Max的名字,而将其称为iPhone 15 Ultra。 改名的原因是什么?好吧,这肯定会将苹果最高端的手…

【MD5加密】

MD5加密 什么是MD5密码MD5用途MD5特点MD5加密MD5解密总结那我们上面也已经提到啦&#xff0c;说MD5是可以进行解密或者说他是可以泄露密码等&#xff0c;所以我们还可以使用以下方法进行再次加密 第一种&#xff1a;MD5固定盐值第二种&#xff1a;MD5随机盐值 什么是MD5密码 官…

基于Jenkins构建生产CICD环境(第二篇)

基于Jenkins自动打包并部署Tomcat环境 传统网站部署的流程 在运维过程中&#xff0c;网站部署是运维的工作之一。传统的网站部署的流程大致分为:需求分 析-->原型设计-->开发代码-->提交代码-->内网部署-->内网测试-->确认上线-->备份数据-->外网更新…

echarts 甘特图一组显示多组数据

<template><el-button type"primary" click"addlin">添加线</el-button><el-button type"success" click"addArea">添加区域</el-button><div ref"echart" id"echart" class&qu…