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

python学习--基本数据类型之字典

python中数据类型

第一类:不可变类型、静态数据类型、不支持增删改操作

  • 数字(number)
  • 字符串(string)
  • 元组(tuple)

第二类:可变类型、动态数据类型、支持增删改操作

  • 列表(list)
  • 字典(dictionary)
  • 集合(set)

python学习–基本数据类型之字典

1、创建、使用

"""
字典的解释:
字典是以键值对的形式存储数据  (相当于c++中的set)
语法:
{key:value,key1:value...}
通过索引key寻找对应的value值key & val 的要求
key : 必须是可hash的数据类型
val: 可以是任何数据类型 --  str list字典中key认为只有一个数据,并且元素不可以重复
"""
# 举例 -- 定义一个字典
dic = {"jay":"周杰伦", "金毛失望": "谢逊"}
val = dic["金毛失望"]
print(val) # 谢逊# 举例说明字典的key和val的对应的数据类型
d = {123 : "呵呵", True : "哈哈", "name" : "me", (1, 2, 3) : 123, "老赵" : ["李大妈", "刘大婶"]}
print(d)
# 通过key寻找到对应的val --  帮助老赵 找对象
val = d["老赵"]
print(val)

2、字典的增删改查

"""
字典的增删改查
1、增新建空字典 向空字典中添加元素(通过键值对的方式)在已存在的字典中增加新的元素   通过键值对的形式增加使用默认值增加 -- setdefault
2、删除删除单个元素使用内置方法pop删除所有元素使用内置方法clear3、修改包含上面方法
4、查询查询的方式1: 直接通过key寻找对应valdic[”key“]查询的方式2: 使用get方法,直接通过key寻找对应valdic.get(”key“)方法区分:相同点:都可以查询功能不同点:1中当查询不存在的key的时候,直接报错2中当查询不存在的key的时候,不会报错,返回None
"""
dic1 = dict()
dic1["key1"] = "小猫"
dic1["key2"] = "小狗"
print(dic1) # {'key1': '小猫', 'key2': '小狗'}"""
setdefault: 设置默认值,设置的时候默认key是不存在的,若key本身存在,则使用setdefault设置失效
"""
dic1.setdefault("小猫", "祝小咪")  # key必须是不存在的
print(dic1)# # 修改
# d['jj'] = "刘能"  # dict[老key] = 值  修改
# print(d)# # 删除
dic2 = {"齐天大圣" : "孙悟空","天蓬元帅" : "猪八戒","卷帘将军" : "沙悟净","金蝉子" : "唐三藏"
}
print(dic2)
val2 = dic2.pop("齐天大圣")
print(dic2)
val3 = dic2.clear()
print(dic2)# 查询
dic3 = {"花和尚" : "鲁智深","及时雨" : "宋江","黑旋风" : "李逵"
}
# 循环查询
for i in range(len(dic3)):name = input("请输入一个名字:")val = dic3.get(name)if val is None:print("查无此人")else:print(val)print("恭喜你,找到啦!")"""
小练习:列表和字典的
将一个列表的元素分开,把大于50的放一起, 把小于50的放一起"""
lst = [11, 22, 33, 44, 55, 66, 77, 88, 99]
# 创建一个字典
dic = dict()
for item in lst:if item < 50:# 如果key不存在就创建一个if dic.get("key1") is None:dic["key1"] = [item]else:# 本身存在直接添加即可dic["key1"].append(item)else:if dic.get("key2") is None:dic["key2"] = [item]else:# 本身存在直接添加即可dic["key2"].append(item)print(dic)解法二:简化的方法
# lst = [11, 22, 33, 44, 55, 66, 77, 88, 99]
result = {}  # 结果
for item in lst:if item > 50:result.setdefault("bigger", []).append(item)else:result.setdefault("smaller", []).append(item)
print(result)

3、字典的循环


"""
字典中的循环和嵌套
循环:字典中通过循环可以获取存储中key\val值
"""dic = {"花和尚" : "鲁智深","及时雨" : "宋江","黑旋风" : "李逵"
}# 方法1: 直接通过key拿到对应的key\value
for key in dic :print(key, dic[key])# 方法2:通过key() 函数可以拿到所有的key
lst = dic.keys() # 保存在一个list中
print(lst)
for i in lst:print(i,dic[i])# 方法3:通过value() 拿到所有的value
lst1 = dic.values()
for i2 in lst1:print(i2)# 方法4:字典中可以通过items()拿到所有数据,直接拿到key value中的数据
for key, value in dic.items() :print(key, dic[key])"""
知识点补充
解构
元组和列表中可以使用 将元素拆开分别输出"""
a = 10, 20
print(type(a))  # <class 'tuple'>
b = [10, 20]
print(type(b))  # <class 'list'>
c = dict()
print(type(c))  # <class 'dict'>
d, f = 22, 33
print(d, f)

4、嵌套

"""
字典的嵌套:字典中嵌套字典,访问字典中任意元素的数值,结合字典的常用的方法,灵活使用
"""
dic = {"name":"吴承恩","西游记":{"齐天大圣" : "孙悟空","天蓬元帅" : "猪八戒","卷帘将军" : "沙悟净","金蝉子" : "唐三藏"}
}
print(dic)

相关文章:

python学习--基本数据类型之字典

python中数据类型 第一类&#xff1a;不可变类型、静态数据类型、不支持增删改操作 数字&#xff08;number&#xff09;字符串&#xff08;string&#xff09;元组&#xff08;tuple&#xff09; 第二类&#xff1a;可变类型、动态数据类型、支持增删改操作 列表&#xff…...

【OpenCV入门】第九部分——模板匹配

文章结构 模板匹配方法单模板匹配单目标匹配多目标匹配 多模板匹配 模板匹配方法 模板是被查找的图像。模板匹配是指查找模板在原始图像中的哪个位置的过程。 result cv2.matchTemplate(image, templ, method, mask)image&#xff1a; 原始图像templ&#xff1a; 模板图像&a…...

在设计web页面时,为移动端设计一套页面,PC端设计一套页面,并且能自动根据设备类型来选择是用移动端的页面还是PC端的页面。

响应式设计&#xff0c;即移动端和PC端共用一个HTML模式&#xff0c;网站的程序和模板自动根据设备类型和屏幕大小进行自适应调整。这种方法我不喜欢&#xff0c;原因是不能很好保证各种客户端的效果&#xff0c;里面存在各种复杂的兼容性等问题。 我喜欢为不同的客户端写不同的…...

微信小程序地图应用总结版

1.应用场景&#xff1a;展示公司位置&#xff0c;并打开第三方app&#xff08;高德&#xff0c;腾讯&#xff09;导航到目标位置。 &#xff08;1&#xff09;展示位置地图 uniapp官网提供了相关组件&#xff0c;uniapp-map组件https://uniapp.dcloud.net.cn/component/map.ht…...

分支创建查看切换

1、初始化git目录&#xff0c;创建文件并将其推送到本地库 git init echo "123" > hello.txt git add hello.txt git commit -m "first commit" hello.txt$ git init Initialized empty Git repository in D:/Git/git-demo/.git/ AdministratorDESKT…...

参编三大金融国标,奇富科技以技术促行业规范化演进

近期&#xff0c;由中国互联网金融协会领导制定的《互联网金融智能风险防控技术要求》《互联网金融个人网络消费信贷信息披露》《互联网金融个人身份识别技术要求》三项国家标准颁布&#xff0c;由国家市场监督管理总局、国家标准化管理委员会发布&#xff0c;奇富科技作为核心…...

芯片开发之难如何破解?龙智诚邀您前往DR IP-SoC China 2023 Day

2023年9月6日&#xff08;周三&#xff09;&#xff0c;龙智即将亮相D&R IP-SoC China 2023 Day&#xff0c;呈现集成了Perforce与Atlassian产品的芯片开发解决方案&#xff0c;助力企业更好、更快地进行芯片开发。 龙智资深顾问、技术支持部门负责人李培将带来主题演讲—…...

Gof23设计模式之策略模式

1.概述 该模式定义了一系列算法&#xff0c;并将每个算法封装起来&#xff0c;使它们可以相互替换&#xff0c;且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式&#xff0c;它通过对算法进行封装&#xff0c;把使用算法的责任和算法的实现分割开来&#xff0c;…...

SAP 物料主数据屏幕增强

增强步骤 1.为主表添加一个附加结构 根据业务需求新建一个结构&#xff0c;结构中放入需要增强的屏幕字段并激活。 打开事务代码SE11&#xff0c;在需要保存的主表中添加这个附加结构并激活。 注&#xff1a;根据业务需求及屏幕增强的视图判断需要保存的主表是哪张&#xff…...

数据库-索引

介绍&#xff1a; 索引是帮助数据库高效获取数据的数据结构 优缺点&#xff1a; 优点&#xff1a;提高数据查询的效率&#xff0c;降低数据库的IO成本 通过索引列对数据进行排序&#xff0c;降低数据排序的成本&#xff0c;降低cpu消耗 缺点&#xff1a;索引会占用存储空间 索…...

Excel·VBA二维数组组合函数的应用实例

看到一个问题《关于#穷举#的问题&#xff0c;如何解决&#xff1f;(语言-开发语言)》&#xff0c;对同一个数据存在“是/否”2种状态&#xff0c;判断其是否参与计算&#xff0c;并输出一系列数据的“是/否”状态的结果 目录 方法1&#xff1a;二维数组组合函数结果 方法2&am…...

hive anti join 的几种写法

t_a 表的记录如下 c1 | :———— | a | b | c | 生成 SQL 如下&#xff1a; create table t_a(c1 string); insert into t_a values("a"),("b"),("c");t_b 表的记录如下 c1bm 生成 SQL 如下&#xff1a; create table t_b(c1 string); in…...

使用Android原生制作毛玻璃效果图片

毛玻璃效果&#xff0c;也被称为模糊效果&#xff0c;是许多现代应用中流行的一种视觉效果。在 Android 中&#xff0c;我们可以通过多种方式实现该效果。本文将探讨如何使用 Android 原生的 Bitmap 类和 RenderScript 来实现毛玻璃效果。 1. 准备工作 首先&#xff0c;你需要…...

软件设计的七大原则

一. 软件设计的七大原则 单一职责原则&#xff1a;一个类只负责一个功能领域中的饿相应职责。开闭原则&#xff1a;对扩展开放&#xff0c;对修改关闭&#xff0c;多使用抽象类和接口&#xff0c;应该尽量使这个系统能够扩展新的功能&#xff0c;通过扩展来实现变化&#xff0…...

Windows下安装配置Nginx

nginx安装 官网下载地址 https://nginx.org/en/download.html 推荐使用稳定版本 截止时间2023年9月5日稳定版本为 1.24.0 百度网盘 链接&#xff1a;https://pan.baidu.com/s/1cXm-jN2fMzKdVMRhbG72Fg 提取码&#xff1a;9hcq 下载完成以后,得到nginx压缩包; 双击启动nginx.…...

数据结构类型

1.在C和C中static关键字的用法 在C中 1.static修饰未初始化全局变量&#xff0c;默认结果为0 2.static修饰局部变量&#xff0c;延长生命周期&#xff0c;生命周期不是作用域&#xff0c;它依旧是局部变量 3.static修饰函数只能在当前文件中调用&#xff0c;不可用跨文件调用…...

WPF元素绑定

简单的说&#xff0c;数据绑定是一种关系&#xff0c;该关系告诉WPF从源对象提取一些信息&#xff0c;并用这些信息设置目标对象的属性。目标属性始终是依赖属性&#xff0c;通常位于WPF元素中——毕竟&#xff0c;WPF数据绑定的最终目标是在用户界面中显示一些信息。然而&…...

centos编译升级cmake,痛苦的Linux小白

环境 root 用户 下载 cmake官网下载地址&#xff1a;https://cmake.org/download/ 获取下载地址&#xff0c;右击cmake-3.27.4.tar.gz 命令行输入链接地址&#xff0c;下载 wget https://github.com/Kitware/CMake/releases/download/v3.27.4/cmake-3.27.4.tar.gz解压 tar -zx…...

Unity资源无法下载 反复提示需同意Terms of Service和EULA 同意后无效的解决方案

前言 最近在玩Unity&#xff0c;跟着tutorial做点项目&#xff0c;但是在下载免费资源时&#xff0c;只有从网站上点“打开Unity”&#xff0c;才能在本地Unity Editor的Package Manager里找到这个资源&#xff08;且点一下下面的刷新就没有了&#xff09;&#xff0c;并且点击…...

记录--vue 拉伸指令

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前言 在我们项目开发中,经常会有布局拉伸的需求,接下来 让我们一步步用 vue指令 实现这个需求 动手开发 在线体验 codesandbox.io/s/dawn-cdn-… 常规使用 解决拉伸触发时机 既然我们使用了指令的方式…...

【已验证】STM32驱动OLED(SSD1306)显示字符

本文介绍如何使用STM32F103C8T6&#xff08;蓝板&#xff09;通过软件模拟IIC协议驱动0.96英寸OLED&#xff08;驱动芯片SSD1306&#xff09;&#xff0c;这个小屏幕相信每一个朋友在大学生活里都不会错过&#xff0c;也是很多课设毕设显示需求的首选&#xff0c;我一向喜欢直接…...

自适应滤波实战:如何用LMS算法在MATLAB/Simulink中快速搭建一个‘简易版’维纳滤波器?

自适应滤波实战&#xff1a;LMS算法在MATLAB/Simulink中的工程化实现 在信号处理领域&#xff0c;自适应滤波技术因其强大的环境适应能力而备受青睐。想象一下&#xff0c;你正在处理一段被噪声污染的语音信号&#xff0c;或是试图从复杂工业环境中提取有效振动特征——传统固定…...

毕业设计实战:基于SSM+MySQL的税务门户网站设计与实现指南

毕业设计实战&#xff1a;基于SSMMySQL的税务门户网站设计与实现指南 在开发“基于SSMMySQL的税务门户网站”毕业设计时&#xff0c;曾因政策文件收藏表未通过用户ID与政策文件ID双外键关联踩过关键坑——初期仅设计收藏编号、收藏时间等基础字段&#xff0c;未与用户表、政策文…...

实战演练:基于快马与豆包开放平台,快速开发智能邮件处理助手

今天想和大家分享一个实战项目&#xff1a;基于豆包开放平台的智能邮件助手开发过程。这个工具特别适合需要频繁处理邮件的职场人士&#xff0c;能自动完成邮件摘要、待办事项提取、回复草拟等重复性工作。 项目背景与需求分析 日常工作中&#xff0c;我们经常要处理大量邮件。…...

企业开始用 AI 后,最容易被忽略的其实是这件事!

这两年&#xff0c;越来越多企业开始尝试把 AI 用到日常办公中。从写邮件、整理纪要&#xff0c;到查询知识库、生成文档&#xff0c;AI 正在从个人工具变成企业工作的一部分。但很多企业在推进 AI 时&#xff0c;首先关注的往往是功能和效率&#xff0c;比如“能不能写”“能不…...

Spring AI 2025实战:从零构建企业级智能问答系统

1. 为什么企业需要智能问答系统&#xff1f; 想象一下这样的场景&#xff1a;新员工入职第一天&#xff0c;面对公司庞杂的知识库手足无措&#xff1b;客服部门每天重复回答相同的基础问题&#xff1b;技术团队在查找内部文档时浪费大量时间。这些都是我亲身经历过的痛点&#…...

晶闸管全球市场:2026-2032年CAGR为3.4%

据恒州诚思调研统计&#xff0c;2025年全球晶闸管收入规模约59.96亿元&#xff0c;到2032年收入规模将接近75.71亿元&#xff0c;2026-2032年CAGR为3.4%。晶闸管作为功率半导体领域的核心器件&#xff0c;凭借其独特的性能在众多电力电子场景中发挥着关键作用。全球晶闸管&…...

3步掌握KillWxapkg:微信小程序逆向工程全流程解析

3步掌握KillWxapkg&#xff1a;微信小程序逆向工程全流程解析 【免费下载链接】KillWxapkg 自动化反编译微信小程序&#xff0c;小程序安全评估工具&#xff0c;发现小程序安全问题&#xff0c;自动解密&#xff0c;解包&#xff0c;可还原工程目录&#xff0c;支持Hook&#x…...

基于YOLOv11深度学习的花卉识别检测系统(YOLOv11+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 花卉识别是计算机视觉在植物学领域的重要应用方向&#xff0c;对于植物分类研究、生态保护、园林管理等领域具有重要意义。然而&#xff0c;由于花卉种类繁多、形态各异&#xff0c;且受光照、角度、遮挡等因素影响&#xff0c;传统方法难以实现高效准确的识别。…...

从POC到EXP:深入拆解CVE-2025-0282利用链中的三大‘拦路虎’(NX/PIE、虚函数、内存释放)与绕过思路

从POC到EXP&#xff1a;深入拆解CVE-2025-0282利用链中的三大‘拦路虎’&#xff08;NX/PIE、虚函数、内存释放&#xff09;与绕过思路 现代漏洞利用已演变为攻防双方在二进制层面的精密博弈。当安全研究员发现一个栈溢出漏洞时&#xff0c;真正的挑战往往始于漏洞验证之后——…...