【Python基础】字典

news2024/11/27 14:36:02

文章目录

    • @[toc]
      • 什么是字典
      • 键值对
        • 示例
        • 键异常
      • 遍历列表
        • 什么是遍历
        • 遍历字典的键
          • keys()方法
        • 遍历字典的值
          • values()方法
        • 遍历字典的键值对
          • items()方法
      • 字典操作
        • 增加键值对
        • 修改键值对
        • 查询键值对
          • get()方法
        • 删除键值对
          • del
          • clear()方法

因上努力

个人主页:丷从心·

系列专栏:Python基础

学习指南:Python学习指南

果上随缘


什么是字典

  • 如下定义的变量author的数据类型是字典
author = {
    'name': '丷从心·',
    'age': 22
}

print(author)
{'name': '丷从心·', 'age': 22}
  • 通过type()函数可以查看变量author的数据类型
author = {
    'name': '丷从心·',
    'age': 22
}

print(type(author))
<class 'dict'>

键值对

  • 字典由键值对组成,对于字典author'name': '丷从心·'是一个键值对,name为键,'丷从心·'为键所对应的值,键与值之间用:分隔
  • 'age': 22也是一个键值对,键值对之间通过,分隔
  • 键值对中的键可以理解为索引或下标,通过键可以查询键所对应的值
示例
author = {
    'name': '丷从心·',
    'age': 22
}

print(author['name'])
print(author['age'])
丷从心·
22
键异常
  • 当通过键查找对应的值时,如果指定的键不存在则会发生KeyError键异常
author = {
    'name': '丷从心·',
    'age': 22
}

print(author['height'])
Traceback (most recent call last):
  File "C:/Users/FOLLOW_MY_HEART/Desktop/Python Basics/【Python基础】字典/test.py", line 6, in <module>
    print(author['height'])
KeyError: 'height'

遍历列表

什么是遍历
  • 遍历就是通过循环的方式从stringlisttupledictset等序列数据类型中依次获取元素,这个过程称为遍历
遍历字典的键
  • 直接对字典进行遍历时,遍历出的元素为字典的键
author = {
    'name': '丷从心·',
    'age': 22
}

for key in author:
    print(key)
name
age
keys()方法
  • keys()方法返回的是字典中所有的键,可以通过对keys()方法返回的结果进行遍历来遍历字典中所有的键
author = {
    'name': '丷从心·',
    'age': 22
}

print(author.keys())

for key in author.keys():
    print(key)
dict_keys(['name', 'age'])
name
age
遍历字典的值
values()方法
  • values()方法返回的是字典中所有的值,可以通过对values()方法返回的结果进行遍历来遍历字典中所有的值
author = {
    'name': '丷从心·',
    'age': 22
}

print(author.values())

for value in author.values():
    print(value)
dict_values(['丷从心·', 22])
丷从心·
22
遍历字典的键值对
items()方法
  • items()方法返回的是字典中所有的键值对,可以通过对items()方法返回的结果进行遍历来遍历字典中所有的键值对
author = {
    'name': '丷从心·',
    'age': 22
}

print(author.items())

for item in author.items():
    print(item)
dict_items([('name', '丷从心·'), ('age', 22)])
('name', '丷从心·')
('age', 22)

字典操作

增加键值对
dict_object[new_key] = new_value
  • 当对字典中不存在的键进行赋值时,字典中就会新增这个键值对
author = {
    'name': '丷从心·',
    'age': 22
}
print(author)

author['gender'] = '男'
print(author)
{'name': '丷从心·', 'age': 22}
{'name': '丷从心·', 'age': 22, 'gender': '男'}
修改键值对
dict_object[key] = new_value
  • 修改键所对应的值,只需通过对键进行重新赋值
author = {
    'name': '丷从心·',
    'age': 22
}
print(author)

author['age'] = 18
print(author)
{'name': '丷从心·', 'age': 22}
{'name': '丷从心·', 'age': 18}
查询键值对
  • 当直接通过键查找对应的值时,如果指定的键不存在则会发生KeyError键异常
author = {
    'name': '丷从心·',
    'age': 22
}

print(author['height'])
Traceback (most recent call last):
  File "C:/Users/FOLLOW_MY_HEART/Desktop/Python Basics/【Python基础】字典/test.py", line 6, in <module>
    print(author['height'])
KeyError: 'height'
get()方法
dict_object.get(key, default_value=None)
  • get()方法用于查询键所对应的值,当指定的键不存在时,并不会产生异常,而是返回一个自定义的值,默认情况下返回None
author = {
    'name': '丷从心·',
    'age': 22
}

print(author.get('height'))
print(author.get('height', 180))
None
180

删除键值对
del
del dict_object[key]
  • del用于删除字典指定键的键值对
author = {
    'name': '丷从心·',
    'age': 22
}

del author['age']

print(author)
{'name': '丷从心·'}
clear()方法
dict_object.clear(index)
  • clear()方法用于清空字典的键值对
author = {
    'name': '丷从心·',
    'age': 22
}

author.clear()

print(author)
{}

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

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

相关文章

牛客Linux高并发服务器开发学习第二天

Gcc编译 利用gcc 生成应用时如果不加-o 和应用名&#xff0c;默认生成a.out 可以用./ a.out打开 Gcc工作流程 可执行程序Windows系统中为.exe Linux系统中为.out g也可以编辑c程序 gcc也可以编译cpp代码&#xff0c;只是在编译阶段gcc不能自动共和C程序使用的库进行联接&…

kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战

1、MQTT介绍 MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议&#xff0c;设计用于连接低带宽、高延迟或不可靠网络的设备。 MQTT 是基于发布/订阅模式&#xff08;Publish/Subscribe&#xff09;的协议&#xff0c;其中设备可以发布消息到一个主题&…

【Linux系列】Ctrl + R 的使用

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

Eland上传bge-large-zh-v1.5向量化模型到ElasticSearch中

最近需要做一些向量检索&#xff0c;试试ES 一、准备 系统&#xff1a;MacOS 14.3.1 ElasticSearch&#xff1a;8.13.2 Kibana&#xff1a;8.13.2 本地单机环境&#xff0c;无集群&#xff0c;也不基于Docker BGE是一个常见的文本转向量的模型&#xff0c;在很多大模型RAG应…

SpringBootSpringCloud升级可能会出现的问题

1.背景 之前负责过我们中台的SpringBoot和Cloud的升级&#xff0c;特次记录分享一下项目中可能出现的问题&#xff0c;方便后续的人快速定位问题。以及下述选择的解决方案都是基于让升级的服务影响和改动最小以及提供通用的解决方案的提前进行选择的。 1.1版本说明 升级前&a…

js进阶 事件循环(持续更新)

导入 js是单线程&#xff0c;同一时间只能做一件事&#xff0c;事件循环(EventLoop)来打破这个局面 异步任务 ajax网络请求setTimeout定时函数 简易粗糙的事件循环 同步任务进入主线程主执行栈异步任务进入任务队列主任务栈任务执行完毕&#xff0c;从任务队列读取对应任务…

npm怎么迁移到pnpm

下载的vue3模板用到了pnpm&#xff0c;就安装了一下 但是安装之后使用pnpm install 就发现包全被移动到ignored文件夹下面了,还报错 PS G:\Projects\gitProeject\TS_front> pnpm installWARN  Moving commitlint/config-conventional that was installed by a different …

中兴F7607P自启动程序,关闭JAVA插件

本文目的&#xff1a;关闭光猫内自动运行的JAVA插件&#xff0c;并实现开机自动调用用户的程序启动 移动定制版F7607P不带LXC容器&#xff0c;取而代之的是JAVA虚拟机&#xff0c;内置多个插件&#xff0c;包括名为CMCCDPI的插件&#xff0c;用途可以从名字上窥见。机器rootfs分…

快速上手Linux核心命令

Linux 的重要性不用我多说了吧&#xff0c;大多数互联网公司&#xff0c;服务器都是采用的Linux操作系统 Linux是一个主要通过命令行来进行管理的操作系统。 只有熟练掌握Linux核心命令&#xff0c;在使用起来我们才会得心应手 这里给大家整理了Linux一些核心命令&#xff0…

一些docker安装配置以及常见命令

​常用命令 docker 命令 //进去容器内部&#xff0c;找到需要拷贝的文件及目录 docker exec -it 2c2600fb60f8 /bin/bash ​ //将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下&#xff1a; docker cp 4db8edd86202:/usr/share/elasticsea…

Spring Boot:Web应用开发之登录与退出的实现

Spring Boot 前言实现登录功能配置拦截器 实现退出功能 前言 登录与退出功能作为 Web 应用中的基础且重要的组成部分&#xff0c;直接关系到用户的安全和隐私保护。通过实现登录与退出功能&#xff0c;可以对用户的身份进行验证和授权&#xff0c;确保只有合法的用户才能访问特…

数据链路层(上):以太网、二层交换机和网络风暴

目录 数据链路层知识概览 数据链路层设备 1、二层交换机 2、拓展&#xff1a;二层交换机与三层交换机有啥区别&#xff1f; 3、广播风暴 4、交换机以太网接口的工作模式 数据链路层的功能 数据链路层--以太网 1、以太网是什么&#xff1f; 2、以太网地址 数据链路层知…

MediaStream使用webRtc多窗口传递

最近在做音视频通话&#xff0c;有个需求是把当前会话弄到另一个窗口单独展示&#xff0c;但是会话是属于主窗口的&#xff0c;多窗口通信目前不能直接传递对象&#xff0c;所以想着使用webRtc在主窗口和兄弟窗口建立连接&#xff0c;把主窗口建立会话得到的MediaStream传递给兄…

系统稳定性建设

说到系统稳定性&#xff0c;不知道大家会想起什么&#xff1f;大多数人会觉得这个词挺虚的&#xff0c;不知道系统稳定性指的是什么。 一年前看到这个词&#xff0c;也是类似于这样的感受&#xff0c;大概只知道要消除单点、做好监控报警&#xff0c;但却并没有一个体系化的方…

ChatGLM-6B的部署步骤

2022年8月&#xff0c;清华背景的智谱AI基于GLM框架&#xff0c;正式推出拥有1300亿参数的中英双语稠密模型 GLM-130B(论文地址、代码地址&#xff0c;论文解读之一&#xff0c;GLM-130B is trained on a cluster of 96 DGX-A100 GPU (840G) servers with a 60-day&#xff0c;…

【Excel如何在表格中筛选重复的值之条件格式】

在使用excel进行统计时经常会遇到&#xff0c;数据统计出现重复的现象&#xff0c;为了确保数据的唯一性&#xff0c;可以用到条件格式筛选出重复值&#xff0c;以确保数据的正确性。 筛选重复值&#xff1a; 选中要筛选的范围&#xff0c;行或列或整个表选中【开始】-【条件…

记录一次k8s pod之间ip无法访问,问题排查与定位

记录一次k8s pod之间ip无法访问&#xff0c;问题排查与定位 问题展现现象 node之间通信正常 部分node上的pod无法通信 排查有问题node 使用启动网络测试工具 环境准备 docker 数据库mysql 使用有状态副本集合 --- apiVersion: apps/v1 kind: StatefulSet metadata:anno…

MATLAB实现图片栅格化

MATLAB实现图片栅格化 1.读取图片&#xff1a;首先&#xff0c;你需要使用imread函数读取要栅格化的图片。 2.设置栅格大小&#xff1a;确定你希望将图片划分成的栅格大小&#xff0c;即每个栅格的宽度和高度。 3.计算栅格数量&#xff1a;根据图片的总尺寸和栅格大小&#…

pycharm 更换Eclipse 的按键模式 keymap

流程 整体来说比较简单&#xff0c;其实只要下载一个eclipse keymap插件就可以完成 首先 ctrl alt s 打开设置页面&#xff0c;找到 plugin 安装完成后还是在 settings 下切换到 keymap即可以看到eclipse 的按键设置出现了&#xff0c;应用后ok 即可完成 再去试试&#x…

绿色自适应网址发布页源码

源码介绍 绿色自适应网址发布页源码&#xff0c;源码由HTMLCSSJS组成&#xff0c;记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 效果截图 源码下载 绿色自适应网址…