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

派森学长带你学python—字典

一.字典的创建与删除

字典类型是根据一个信息查找另一个信息的方式构成了键值对

字典和列表均为可变数据类型,可变数据类型具有增删改等操作

字典中的键唯一,值可以有多个相同的;字典中的键要求是不可变序列,如字符串、整数、浮点数、元组;字典中的键是无序的

#创建1 {}方式
d={10:'cat',20:'dog',30:'pet',20:'zoo'}
print(d)#{10: 'cat', 20: 'zoo', 30: 'pet'}注意这里存在一个覆盖#创建2 zip函数
list1=[10,20,30]
list2=['a','b','c','d']
listobj=zip(list1,list2)
print(listobj)#<zip object at 0x000001482E6A3B80>
d=dict(listobj)
print(d)#{10: 'a', 20: 'b', 30: 'c'}这里注意转换#创建3 使用参数创建字典
d=dict(cat=10,dog=20)
print(d)#{'cat': 10, 'dog': 20}
t=(10,20,30)
print({t:'a'})#{(10, 20, 30): 'a'}
#字典属于序列
print(max(d))#dog
print(min(d))#cat
print(len(d))#2#字典的删除
del d

二.字典的访问与遍历

字典的访问:

1.d.[key]

2.d.get(key)

两者区别:在访问字典中不存在元素时,前者会报错,后者返回None

字典的遍历:

1.for item in d.items(): print(d)

2.for key,value in d.items(): print(key,value)

#字典的访问
d={10:'cat',20:'cat',30:'apple'}
print(d[10])#cat
print(d.get(10))#cat
#print(d[0])#报错
print(d.get(0))#None#字典的遍历
for item in d.items():print(item)
'''
(10, 'cat')
(20, 'cat')
(30, 'apple')
'''
for key,value in d.items():print(key,value)
'''
10 cat
20 cat
30 apple
'''
'''

三.字典操作相关方法

d.keys() 获取所有keys值

d.values() 获取所有values值

d.pop(key,default) key存在获取相应的value,同时删除key-value对,否则获取默认值

d.popitem() 随即从字典中取出一个键值对,结果为元组类型,并将其从字典中删除

d.clear() 清空字典

d={10:'cat',20:'cat',30:'apple'}
d[40]='cindy'
print(d)#{10: 'cat', 20: 'cat', 30: 'apple', 40: 'cindy'} 赋值添加元素
print(d.keys())#dict_keys([10, 20, 30])
print(list(d.keys()))#查看里面具体的值[10, 20, 30, 40]
print(tuple(d.keys()))#(10, 20, 30, 40)
print(d.values())#dict_values(['cat', 'cat', 'apple'])
#将字典中的数据以key-value形式展现
lst=list(d.items())
print(lst)#[(10, 'cat'), (20, 'cat'), (30, 'apple'), (40, 'cindy')]
di=dict(lst)
print(di)#{10: 'cat', 20: 'cat', 30: 'apple', 40: 'cindy'}转换成字典类型
print(d.pop(10))
print(d)#{20: 'cat', 30: 'apple', 40: 'cindy'}
print(d.popitem())
print(d)#{20: 'cat', 30: 'apple'}d.clear()
print(bool(d))#False

四.字典的生成式

1.d={key:value for item in range}

2.d={key:value for key,value in zip(lst1,lst2)}

import random
d={item:random.randint(1,100) for item in range(4)}
print(d)#{0: 68, 1: 79, 2: 71, 3: 38}
lst1={1,2,3,4}
lst2={'a','b','c','d'}
d={key:value for key,value in zip(lst1,lst2)}
print(d)#{1: 'd', 2: 'b', 3: 'c', 4: 'a'}

相关文章:

派森学长带你学python—字典

一.字典的创建与删除 字典类型是根据一个信息查找另一个信息的方式构成了键值对 字典和列表均为可变数据类型&#xff0c;可变数据类型具有增删改等操作 字典中的键唯一&#xff0c;值可以有多个相同的&#xff1b;字典中的键要求是不可变序列&#xff0c;如字符串、整数、浮…...

如何设置 Visual Studio Code 的滚轮缩放功能

Visual Studio Code (VSCode) 是一个强大的代码编辑器&#xff0c;提供了许多便捷的功能来提高开发效率。其中之一就是通过滚轮缩放字体大小。以下是详细的设置步骤&#xff1a; 步骤 1&#xff1a;打开设置页面 首先&#xff0c;启动 Visual Studio Code。在左上角点击 “文…...

Python模拟退火算法

目录 模拟退火算法简介模拟退火算法的步骤模拟退火算法的Python实现场景&#xff1a;函数优化问题 代码解释总结 模拟退火算法简介 模拟退火算法&#xff08;Simulated Annealing, SA&#xff09;是一种基于物理退火过程的随机搜索算法&#xff0c;用于寻找全局最优解。其灵感…...

C语言典型例题36

《C程序设计教程&#xff08;第四版&#xff09;——谭浩强》 例题3.4 输入一个字符&#xff0c;判别它是否为大写字母&#xff0c;如果是&#xff0c;将它转换为小写字母&#xff1a;如果不是&#xff0c;不转换。然后输出最后要输出的字符。 代码&#xff1a; //《C程序设计…...

实现高亮的全文分页检索

文章目录 &#x1f31e; Sun Frame&#xff1a;SpringBoot 的轻量级开发框架&#xff08;个人开源项目推荐&#xff09;&#x1f31f; 亮点功能&#x1f4e6; spring cloud模块概览常用工具 &#x1f517; 更多信息1.sun-club-infra 模块SubjectEsServiceImpl.java1.querySubje…...

【buildroot与yocto区别】

buildroot与yocto区别 Buildroot和Yocto的主要区别在于它们的使用目的、构建过程、以及输出的内容。 使用目的&#xff1a;Buildroot主要用于构建根文件系统&#xff0c;而Yocto项目则用于帮助开发人员为嵌入式产品创建定制的基于‌Linux的系统。Yocto项目不仅仅构建根文件系…...

原创音乐小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;歌曲类型管理&#xff0c;歌曲信息管理&#xff0c;热门歌手管理&#xff0c;音乐资讯管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;歌曲信息&a…...

使用 MongoDB 构建 AI:Flagler Health 的 AI 旅程如何彻底改变患者护理

Flagler Health 致力于为慢性病患者提供支持&#xff0c;为其匹配合适的医生以提供合适的护理。 通常&#xff0c;身患严重病痛的患者面临的选择有限&#xff0c;他们往往需要长期服用阿片类药物&#xff0c;或寻求成本高昂的侵入性外科手术干预。遗憾的是&#xff0c;后一种方…...

在 Linux 系统中下载 Python 并配置环境

哈喽&#xff0c;大家好&#xff0c;木易巷来啦&#xff01; 在 Linux 系统中下载 Python 并配置环境&#xff0c;主要包含以下几个核心步骤&#xff1a; ▍1、安装 Python 多数 Linux 发行版已预装 Python&#xff0c;但您可能需要安装不同版本或更新现有版本。 打开终端。 …...

优化if-else的几种方式

优化if-else的几种方式 策略模式1、创建支付策略接口2、书写不同的支付方式逻辑代码微信支付QQ支付 3、service层的实现类使用4、controller层的调用说明 枚举与策略模式结合1、创建枚举2、service层书写处理方法3、controller层调用4、说明 Lambda表达式与函数接口说明 策略模…...

关于k8s集群Pod启动过程

目录 1.Pod启动阶段&#xff08;相位 phase&#xff09; 1.1 phase的可能状态 2.Pod故障排除步骤 3.总结 1.Pod启动阶段&#xff08;相位 phase&#xff09; Pod 创建完之后&#xff0c;一直到持久运行起来&#xff0c;中间有很多步骤&#xff0c;也就有很多出错的可能&…...

Linux Vim教程(十五):使用Vimscript进行脚本编写

目录 1. Vimscript简介 2. 基本语法和结构 2.1 变量 2.2 条件语句 2.3 循环语句 2.4 函数 3. 操作缓冲区、窗口和标签页 3.1 缓冲区 3.2 窗口 3.3 标签页 4. 自动化编辑任务 4.1 自动命令 4.2 键映射 5. 编写和调试Vimscript脚本 5.1 编写脚本 5.2 调试脚本 6…...

解决element-ui回车键绑定按钮功能后却刷新浏览器的问题

最近写代码时&#xff0c;遇到要给回车键绑定确定的功能&#xff0c;并且打开对话框时要自动获取输入框焦点&#xff0c;发现一但重新打开浏览器&#xff0c;第一次执行回车键的功能时就会刷新浏览器&#xff0c;后续则会成功执行。但是一但再一次重新打开浏览器&#xff0c;还…...

MySQL基础练习题37-查找结果的质量和占比

目录 题目 准备数据 分析数据 总结 题目 找出每次的 query_name 、 quality 和 poor_query_percentage。 quality 和 poor_query_percentage 都应 四舍五入到小数点后两位 。 准备数据 ## 创建库 create database db; use db;## 创建表 Create table If Not Exists Que…...

酒店行业如何利用XML进行营销短信

随着信息社会的到来&#xff0c;消费者获得会所的服务也从单纯的电话方式&#xff0c;逐渐转变为电话、互联网、传真&#xff0c;群发短信等多种媒体并行的方式。今天着重介绍下酒店行业如何利用短信平台进行营销。 群发短信业务对酒店起到的效率&#xff1a;根据新产品或服务向…...

【模型】TFLiteModel

TFLiteModel 指的是 TensorFlow Lite&#xff08;TFLite&#xff09;模型&#xff0c;它是 TensorFlow 的轻量级解决方案&#xff0c;用于在移动设备、嵌入式系统和物联网设备上运行机器学习模型。TFLite 模型通常是从 TensorFlow 模型转换而来的&#xff0c;并且经过了优化&am…...

【Kubernetes】Service 概念与实战

Service 概念与实战 1.通过 Service 向外部暴露 Pod2.Service 的多端口设置3.集群内部的 DNS 服务4.无头 Service 在 Kubernetes 中部署的应用可能对应一个或者多个 Pod&#xff0c;而每个 Pod 又具有独立的 IP 地址。Service&#xff08;服务&#xff09;能够为一组功能相同的…...

RTSP|RTMP流如何指定坐标位置和分辨率获取RGB数据实时渲染和算法分析

接上一篇blog&#xff1a;同一路RTSP|RTMP流如何同时回调YUV和RGB数据实现渲染和算法分析-CSDN博客 我们知道&#xff0c;由于解码后的YUV或RGB数据size比较大&#xff0c;如果想把转换后的RGB数据传给比如python算法的话&#xff0c;数据量还是挺大&#xff0c;为此&#xff…...

基于ssm+vue+uniapp的英语学习交流平台小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…...

如何判断一个TimerTask是否已经完成

如何判断一个TimerTask是否已经完成 判断TimerTask是否已经完成并不是TimerTask或Timer类直接提供的功能&#xff0c;因为TimerTask一旦被提交给Timer执行&#xff0c;它就在一个独立的线程中运行&#xff0c;而Timer类并不直接提供方法来查询或控制任务的执行状态。 然而&am…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python&#xff5c;GIF 解析与构建&#xff08;5&#xff09;&#xff1a;手搓截屏和帧率控制 一、引言 二、技术实现&#xff1a;手搓截屏模块 2.1 核心原理 2.2 代码解析&#xff1a;ScreenshotData类 2.2.1 截图函数&#xff1a;capture_screen 三、技术实现&…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

HashMap中的put方法执行流程(流程图)

1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中&#xff0c;其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下&#xff1a; 初始判断与哈希计算&#xff1a; 首先&#xff0c;putVal 方法会检查当前的 table&#xff08;也就…...

【无标题】路径问题的革命性重构:基于二维拓扑收缩色动力学模型的零点隧穿理论

路径问题的革命性重构&#xff1a;基于二维拓扑收缩色动力学模型的零点隧穿理论 一、传统路径模型的根本缺陷 在经典正方形路径问题中&#xff08;图1&#xff09;&#xff1a; mermaid graph LR A((A)) --- B((B)) B --- C((C)) C --- D((D)) D --- A A -.- C[无直接路径] B -…...

如何更改默认 Crontab 编辑器 ?

在 Linux 领域中&#xff0c;crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用&#xff0c;用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益&#xff0c;允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

mac:大模型系列测试

0 MAC 前几天经过学生优惠以及国补17K入手了mac studio,然后这两天亲自测试其模型行运用能力如何&#xff0c;是否支持微调、推理速度等能力。下面进入正文。 1 mac 与 unsloth 按照下面的进行安装以及测试&#xff0c;是可以跑通文章里面的代码。训练速度也是很快的。 注意…...