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中数据类型 第一类:不可变类型、静态数据类型、不支持增删改操作 数字(number)字符串(string)元组(tuple) 第二类:可变类型、动态数据类型、支持增删改操作 列表ÿ…...
【OpenCV入门】第九部分——模板匹配
文章结构 模板匹配方法单模板匹配单目标匹配多目标匹配 多模板匹配 模板匹配方法 模板是被查找的图像。模板匹配是指查找模板在原始图像中的哪个位置的过程。 result cv2.matchTemplate(image, templ, method, mask)image: 原始图像templ: 模板图像&a…...
在设计web页面时,为移动端设计一套页面,PC端设计一套页面,并且能自动根据设备类型来选择是用移动端的页面还是PC端的页面。
响应式设计,即移动端和PC端共用一个HTML模式,网站的程序和模板自动根据设备类型和屏幕大小进行自适应调整。这种方法我不喜欢,原因是不能很好保证各种客户端的效果,里面存在各种复杂的兼容性等问题。 我喜欢为不同的客户端写不同的…...
微信小程序地图应用总结版
1.应用场景:展示公司位置,并打开第三方app(高德,腾讯)导航到目标位置。 (1)展示位置地图 uniapp官网提供了相关组件,uniapp-map组件https://uniapp.dcloud.net.cn/component/map.ht…...
分支创建查看切换
1、初始化git目录,创建文件并将其推送到本地库 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…...
参编三大金融国标,奇富科技以技术促行业规范化演进
近期,由中国互联网金融协会领导制定的《互联网金融智能风险防控技术要求》《互联网金融个人网络消费信贷信息披露》《互联网金融个人身份识别技术要求》三项国家标准颁布,由国家市场监督管理总局、国家标准化管理委员会发布,奇富科技作为核心…...
芯片开发之难如何破解?龙智诚邀您前往DR IP-SoC China 2023 Day
2023年9月6日(周三),龙智即将亮相D&R IP-SoC China 2023 Day,呈现集成了Perforce与Atlassian产品的芯片开发解决方案,助力企业更好、更快地进行芯片开发。 龙智资深顾问、技术支持部门负责人李培将带来主题演讲—…...
Gof23设计模式之策略模式
1.概述 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,…...
SAP 物料主数据屏幕增强
增强步骤 1.为主表添加一个附加结构 根据业务需求新建一个结构,结构中放入需要增强的屏幕字段并激活。 打开事务代码SE11,在需要保存的主表中添加这个附加结构并激活。 注:根据业务需求及屏幕增强的视图判断需要保存的主表是哪张ÿ…...
数据库-索引
介绍: 索引是帮助数据库高效获取数据的数据结构 优缺点: 优点:提高数据查询的效率,降低数据库的IO成本 通过索引列对数据进行排序,降低数据排序的成本,降低cpu消耗 缺点:索引会占用存储空间 索…...
Excel·VBA二维数组组合函数的应用实例
看到一个问题《关于#穷举#的问题,如何解决?(语言-开发语言)》,对同一个数据存在“是/否”2种状态,判断其是否参与计算,并输出一系列数据的“是/否”状态的结果 目录 方法1:二维数组组合函数结果 方法2&am…...
hive anti join 的几种写法
t_a 表的记录如下 c1 | :———— | a | b | c | 生成 SQL 如下: create table t_a(c1 string); insert into t_a values("a"),("b"),("c");t_b 表的记录如下 c1bm 生成 SQL 如下: create table t_b(c1 string); in…...
使用Android原生制作毛玻璃效果图片
毛玻璃效果,也被称为模糊效果,是许多现代应用中流行的一种视觉效果。在 Android 中,我们可以通过多种方式实现该效果。本文将探讨如何使用 Android 原生的 Bitmap 类和 RenderScript 来实现毛玻璃效果。 1. 准备工作 首先,你需要…...
软件设计的七大原则
一. 软件设计的七大原则 单一职责原则:一个类只负责一个功能领域中的饿相应职责。开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口,应该尽量使这个系统能够扩展新的功能,通过扩展来实现变化࿰…...
Windows下安装配置Nginx
nginx安装 官网下载地址 https://nginx.org/en/download.html 推荐使用稳定版本 截止时间2023年9月5日稳定版本为 1.24.0 百度网盘 链接:https://pan.baidu.com/s/1cXm-jN2fMzKdVMRhbG72Fg 提取码:9hcq 下载完成以后,得到nginx压缩包; 双击启动nginx.…...
数据结构类型
1.在C和C中static关键字的用法 在C中 1.static修饰未初始化全局变量,默认结果为0 2.static修饰局部变量,延长生命周期,生命周期不是作用域,它依旧是局部变量 3.static修饰函数只能在当前文件中调用,不可用跨文件调用…...
WPF元素绑定
简单的说,数据绑定是一种关系,该关系告诉WPF从源对象提取一些信息,并用这些信息设置目标对象的属性。目标属性始终是依赖属性,通常位于WPF元素中——毕竟,WPF数据绑定的最终目标是在用户界面中显示一些信息。然而&…...
centos编译升级cmake,痛苦的Linux小白
环境 root 用户 下载 cmake官网下载地址:https://cmake.org/download/ 获取下载地址,右击cmake-3.27.4.tar.gz 命令行输入链接地址,下载 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,跟着tutorial做点项目,但是在下载免费资源时,只有从网站上点“打开Unity”,才能在本地Unity Editor的Package Manager里找到这个资源(且点一下下面的刷新就没有了),并且点击…...
记录--vue 拉伸指令
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 在我们项目开发中,经常会有布局拉伸的需求,接下来 让我们一步步用 vue指令 实现这个需求 动手开发 在线体验 codesandbox.io/s/dawn-cdn-… 常规使用 解决拉伸触发时机 既然我们使用了指令的方式…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
MVC 数据库
MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
音视频——I2S 协议详解
I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议,专门用于在数字音频设备之间传输数字音频数据。它由飞利浦(Philips)公司开发,以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...
