python里的数据结构
- 列表(List)
- 定义和特点:
- 列表是一种有序的可变序列,可包含不同类型的元素,如整数、字符串、列表等。可以通过索引访问和修改元素,索引从 0 开始。
- 代码示例:
- 定义和特点:
my_list = [1, 2, 'apple', [4, 5]]
print(my_list[0]) # 输出列表中的第一个元素,即1
my_list[2] = 'banana' # 修改列表中的第三个元素
print(my_list)
- 创建列表
- 直接创建:使用方括号
[]
将元素括起来,元素之间用逗号分隔。例如:my_list = [1, 2, 3]
,可以包含不同类型的元素,如my_list_with_different_types = [1, "apple", True]
。 - 使用
list()
函数创建:可以将其他可迭代对象(如元组、集合、字符串)转换为列表。例如,将元组转换为列表:my_tuple = (1, 2, 3)
,my_list_from_tuple = list(my_tuple)
,此时my_list_from_tuple
的值为[1, 2, 3]
;将字符串转换为列表:my_string = "abc"
,my_list_from_string = list(my_string)
,得到['a', 'b', 'c']
。
- 直接创建:使用方括号
- 访问元素
- 通过索引访问:列表中的元素索引从 0 开始,使用方括号
[]
加上索引值来访问元素。例如:my_list = [1, 2, 3]
,print(my_list[0])
会输出1
,print(my_list[2])
会输出3
。可以使用负数索引从列表末尾开始访问,如my_list[-1]
表示最后一个元素,my_list[-2]
表示倒数第二个元素。
- 通过索引访问:列表中的元素索引从 0 开始,使用方括号
- 修改元素
- 通过索引修改:使用方括号
[]
和索引来修改指定位置的元素。例如:my_list = [1, 2, 3]
,my_list[1] = 4
,此时my_list
变为[1, 4, 3]
。
- 通过索引修改:使用方括号
- 添加元素
append
方法:用于在列表末尾添加一个元素。例如:my_list = [1, 2, 3]
,my_list.append(4)
,则my_list
变为[1, 2, 3, 4]
。insert
方法:用于在指定位置插入一个元素。它接受两个参数,第一个参数是插入位置的索引,第二个参数是要插入的元素。例如:my_list = [1, 2, 3]
,my_list.insert(1, "apple")
,此时my_list
变为[1, "apple", 2, 3]
。
- 删除元素
remove
方法:用于删除列表中指定的元素。如果元素不存在,会抛出ValueError
异常。例如:my_list = [1, 2, 3]
,my_list.remove(2)
,此时my_list
变为[1, 3]
。pop
方法:用于删除并返回指定索引位置的元素。如果不指定索引,默认删除并返回最后一个元素。例如:my_list = [1, 2, 3]
,popped_element = my_list.pop(1)
,此时my_list
变为[1, 3]
,popped_element
的值为2
。del
关键字:可以用于删除列表中的元素或整个列表。例如:my_list = [1, 2, 3]
,del my_list[0]
,此时my_list
变为[2, 3]
;如果使用del my_list
,则会删除整个列表。
- 列表切片
- 基本语法:使用
[start:stop:step]
的形式来获取列表的一个子序列。start
表示起始索引(包含),stop
表示结束索引(不包含),step
表示步长。例如:my_list = [1, 2, 3, 4, 5]
,print(my_list[1:4])
会输出[2, 3, 4]
,print(my_list[::2])
会输出[1, 3, 5]
。
- 基本语法:使用
- 列表排序
sort
方法:用于对列表中的元素进行排序。默认是升序排序,可以通过sort(reverse = True)
进行降序排序。例如:my_list = [3, 1, 2]
,my_list.sort()
,此时my_list
变为[1, 2, 3]
;如果使用my_list.sort(reverse = True)
,则my_list
变为[3, 2, 1]
。sorted
函数:与sort
方法类似,但sorted
函数会返回一个新的已排序的列表,而原列表不变。例如:my_list = [3, 1, 2]
,new_sorted_list = sorted(my_list)
,此时my_list
仍为[3, 1, 2]
,而new_sorted_list
为[1, 2, 3]
。
- 列表的拼接和重复
- 拼接:可以使用
+
运算符将两个列表拼接在一起。例如:list1 = [1, 2]
,list2 = [3, 4]
,combined_list = list1 + list2
,此时combined_list
的值为[1, 2, 3, 4]
。 - 重复:可以使用
*
运算符将列表重复指定的次数。例如:my_list = [1, 2]
,repeated_list = my_list * 3
,此时repeated_list
的值为[1, 2, 1, 2, 1, 2]
。
- 拼接:可以使用
- 查找元素位置
index
方法:用于查找元素在列表中的第一个位置索引。如果元素不存在,会抛出ValueError
异常。例如:my_list = [1, 2, 3, 2]
,print(my_list.index(2))
会输出1
。
- 统计元素个数
count
方法:用于统计元素在列表中出现的次数。例如:my_list = [1, 2, 3, 2]
,print(my_list.count(2))
会输出2
。
- 元组(Tuple)
- 定义和特点:
- 元组是有序的不可变序列,一旦创建,元素不能修改。它也可以包含多种类型的元素,常用于存储相关联的数据。
- 代码示例:
- 定义和特点:
my_tuple = (1, 2, 'apple')
print(my_tuple[1]) # 输出元组中的第二个元素,即2
# 以下代码会出错,因为元组是不可变的
# my_tuple[2] = 'banana'
- 集合(Set)
- 定义和特点:
- 集合是无序的可变数据结构,元素具有唯一性,即不会包含重复的元素。主要用于去重、数学集合运算(如交集、并集、差集)等。
- 代码示例:
- 定义和特点:
my_set = {1, 2, 3, 3} # 自动去除重复元素,实际为{1, 2, 3}
my_set.add(4) # 添加元素4
print(my_set)
another_set = {3, 4, 5}
intersection_set = my_set & another_set # 求交集
print(intersection_set)
- 创建集合
- 直接创建:使用花括号
{}
将元素括起来,元素之间用逗号分隔。例如:my_set = {1, 2, 3}
。需要注意的是,如果要创建一个空集合,不能使用{}
,因为{}
在 Python 中默认用于创建字典,空集合应该使用set()
函数来创建,如empty_set = set()
。 - 从可迭代对象创建:可以使用
set()
函数将其他可迭代对象(如列表、元组)转换为集合,从而去除重复元素。例如:my_list = [1, 2, 2, 3]
,my_set_from_list = set(my_list)
,此时my_set_from_list
的值为{1, 2, 3}
。
- 直接创建:使用花括号
- 添加元素
add
方法:用于向集合中添加一个元素。如果添加的元素已经存在于集合中,集合不会发生变化。例如:my_set = {1, 2, 3}
,my_set.add(4)
,此时my_set
变为{1, 2, 3, 4}
。
- 删除元素
remove
方法:用于删除集合中指定的元素。如果元素不存在,会抛出KeyError
异常。例如:my_set = {1, 2, 3}
,my_set.remove(2)
,此时my_set
变为{1, 3}
。discard
方法:与remove
类似,用于删除集合中的元素,但如果元素不存在,不会抛出异常。例如:my_set = {1, 2, 3}
,my_set.discard(4)
,my_set
的值不变,仍为{1, 2, 3}
。pop
方法:随机删除并返回集合中的一个元素。由于集合是无序的,所以无法确定删除的是哪个元素。例如:my_set = {1, 2, 3}
,popped_element = my_set.pop()
,popped_element
的值是集合中的一个元素(可能是1
、2
或3
),同时my_set
会少一个元素。
- 集合运算
- 交集(
&
或intersection
方法):返回两个集合中共同的元素。例如:set1 = {1, 2, 3}
,set2 = {2, 3, 4}
,intersection_set = set1 & set2
(或intersection_set = set1.intersection(set2)
),intersection_set
的值为{2, 3}
。 - 并集(
|
或union
方法):返回包含两个集合中所有元素的集合。例如:set1 = {1, 2, 3}
,set2 = {2, 3, 4}
,union_set = set1 | set2
(或union_set = set1.union(set2)
),union_set
的值为{1, 2, 3, 4}
。 - 差集(
-
或difference
方法):返回一个集合中存在而另一个集合中不存在的元素。例如:set1 = {1, 2, 3}
,set2 = {2, 3, 4}
,difference_set = set1 - set2
(或difference_set = set1.difference(set2)
),difference_set
的值为{1}
。 - 对称差集(
^
或symmetric_difference
方法):返回两个集合中不重复的所有元素,即只存在于一个集合中的元素。例如:set1 = {1, 2, 3}
,set2 = {2, 3, 4}
,symmetric_difference_set = set1 ^ set2
(或symmetric_difference_set = set1.symmetric_difference(set2)
),symmetric_difference_set
的值为{1, 4}
。
- 交集(
- 判断元素是否在集合中
- 使用
in
关键字。例如:my_set = {1, 2, 3}
,print(1 in my_set)
会输出True
,print(4 in my_set)
会输出False
。
- 使用
- 集合的比较
issubset
方法(<=
):用于判断一个集合是否是另一个集合的子集。例如:set1 = {1, 2}
,set2 = {1, 2, 3}
,print(set1.issubset(set2))
(或print(set1 <= set2)
)会输出True
。issuperset
方法(>=
):用于判断一个集合是否是另一个集合的超集。例如:set1 = {1, 2, 3}
,set2 = {1, 2}
,print(set1.issuperset(set2))
(或print(set1 >= set2)
)会输出True
。isdisjoint
方法:用于判断两个集合是否没有共同元素。例如:set1 = {1, 2}
,set2 = {3, 4}
,print(set1.isdisjoint(set2))
会输出True
。
- 字典(Dictionary)
- 定义和特点:
- 字典是无序的可变数据结构,由键 - 值(key - value)对组成。键必须是唯一的,值可以是任何类型。通过键来访问和修改值。
- 代码示例:
- 定义和特点:
my_dict = {'name': 'John', 'age': 30, 'city': 'New York'}
print(my_dict['name']) # 输出键为'name'的值,即'John'
my_dict['age'] = 31 # 修改键'age'的值
print(my_dict)
- 字符串(String)
- 定义和特点:
- 字符串是有序的不可变序列,用于表示文本。可以通过索引访问字符,也可以进行切片操作。
- 代码示例:
- 定义和特点:
my_string = "Hello, World!"
print(my_string[0]) # 输出字符串中的第一个字符,即'H'
print(my_string[7:]) # 切片操作,输出从索引7开始的字符,即'World!'
# 以下代码会出错,因为字符串是不可变的
# my_string[5] = '.'
相关文章:
python里的数据结构
列表(List) 定义和特点: 列表是一种有序的可变序列,可包含不同类型的元素,如整数、字符串、列表等。可以通过索引访问和修改元素,索引从 0 开始。代码示例: my_list [1, 2, apple, [4, 5]] pr…...
Ros Noetic 20.04 跑通mpc_ros包保姆级教程
前言: 本文将简述mpc_ros包在noetic20.04中的安装,mpc是 一种跟踪、MPC_ROS 是一个基于ROS(Robot Operating System)的模型预测控制(Model Predictive Control,MPC)库。该项目旨在为机器人控制提供一个灵活且高效的MPC实现,使得开发者能够在ROS环境中轻松集成和使用MPC…...
MySQL 没有数据闪回?看 zCloud 如何补齐MySQL数据恢复能力
ENMOTECH 上一篇文章为大家介绍了某金融科技企业通过 zCloud 多元数据库智能管理平台的告警中心“警警”有条地管理告警并进行敏捷处置的实践案例。本篇跟大家继续分享该案例客户如何利用 zCloud 备份恢复模块下的Binlog解析功能补齐 MySQL 数据恢复能力,让运维人员…...
k8s集群加入node节点为ubuntu 22.04
文章目录 1.环境准备1.1 关闭无用服务1.2 环境和网络1.3 apt源1.4 系统优化 2. 装containerd3. 接入k8s集群3.1 kubelet、kubeadm、kubectl安装3.2 缺少一个镜像3.3 接入k8s集群 4. 一些相关问题 1.环境准备 rootcto-gpu-pro-n01:~# lsb_release -a No LSB modules are availa…...
提取图片高频信息
提取图片高频信息 示例-输入: 示例-输出: 代码实现: import cv2 import numpy as npdef edge_calc(image):src cv2.GaussianBlur(image, (3, 3), 0)ddepth cv2.CV_16Sgray cv2.cvtColor(src, cv2.COLOR_BGR2GRAY)grad_x cv2.Scharr(g…...
向量数据库FAISS之四:向量检索和 FAISS
来自 YouTube 1.相似度搜索的传统方法(Jaccard, w-shingling, Levenshtein) 1.Jaccard 距离 公式 Jaccard ( A , B ) 1 − ∣ A ∩ B ∣ ∣ A ∪ B ∣ \text{Jaccard}(A, B) 1 - \frac{|A \cap B|}{|A \cup B|} Jaccard(A,B)1−∣A∪B∣∣A∩B∣ 其中, A 和 …...
Flume日志采集系统的部署,实现flume负载均衡,flume故障恢复
目录 安装包 flume的部署 负载均衡测试 故障恢复 安装包 在这里给大家准备好了flume的安装包 通过网盘分享的文件:apache-flume-1.9.0-bin.tar.gz 链接: https://pan.baidu.com/s/1DXMA4PxdDtUQeMB4J62xoQ 提取码: euz7 --来自百度网盘超级会员v4的分享 ----…...
行列式的理解与计算:线性代数中的核心概念
开发领域:前端开发 | AI 应用 | Web3D | 元宇宙 技术栈:JavaScript、React、ThreeJs、WebGL、Go 经验经验:6 年 前端开发经验,专注于图形渲染和 AI 技术 开源项目:github 简智未来、数字孪生引擎、前端面试题 大家好&a…...
DimensionX:单图生成任意的3d/4d视图
DimensionX:单图生成任意的3d/4d视图 通俗易懂的来说 在我们的方法中,关键是如何从一张图片生成动态的3D和4D场景。我们使用一个叫做ST-Director的工具,它可以分开处理空间(3D)和时间(4D)两个方面。想象一…...
k8s上面的Redis集群链接不上master的解决办法
问题描述 之前在k8s上面部署了一台node,然后创建了6个redis的pod,构建了一个redis的集群,正常运行。 最近添加了一台slave node,然后把其中的几个redis的pod调度到了slave node上面,结果集群就起不来了,…...
芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号)
芯片之殇——“零日漏洞”(文后附高通64款存在漏洞的芯片型号) 本期是平台君和您分享的第113期内容 前一段时间,高通公司(Qualcomm)发布安全警告称,提供的60多款芯片潜在严重的“零日漏洞”,芯片安全再一次暴露在大众视野。 那什么是“零日漏洞”?平台君从网上找了一段…...
《线性代数的本质》
之前收藏的一门课,刚好期末复习,顺便看一看哈哈 课程链接:【线性代数的本质】合集-转载于3Blue1Brown官方双语】 向量究竟是什么 线性代数中最基础、最根源的组成部分就是向量,需要先明白什么是向量 不同专业对向量的看法 物理专…...
计算机视觉 1-8章 (硕士)
文章目录 零、前言1.先行课程:python、深度学习、数字图像处理2.查文献3.环境安装 第一章:概论1.计算机视觉的概念2.机器学习 第二章:图像处理相关基础1.图像的概念2.图像处理3.滤波器4.卷积神经网络CNN5.图像的多层表示:图像金字…...
SpringMVC
七、SpringMVC (1)SpringMVC简介 SpringMVC概述 SpringMVC技术与Servlet技术功能等同,均属于web层开发技术,web程序大都基于三层架构实现 如果所有的处理都交给Servlet来处理的话,所有的东西都耦合在一起,…...
使用llama.cpp进行量化和部署
git clone https://github.com/ggerganov/llama.cpp cd llama.cpp 🖥️ CPU 版本 cmake -B build_cpu cmake --build build_cpu --config Release 🖥️ CUDA 版本 cmake -B build_cuda -DLLAMA_CUDAON cmake --build build_cuda --config Release -j …...
iOS构建版本以及Hbuilder打iOS的ipa包全流程
目录 Hbuilder打ipa包 打包之前进行应用配置 应用版本号设置 使用广告标识设置 iOS-云打包 下载并转移安装包 使用Transporter提交版本 应用简介 下载应用 账号登录 提交安装包到apple store connect 在apple开发者平台上确认 总结 本篇文章详细的介绍了使用Hbuil…...
DB-GPT V0.6.2 版本更新:牵手libro社区、GraphRAG图谱构建能力增强等
DB-GPT V0.6.2版本现已上线,快速预览新特性: 新特性 1、DB-GPT 社区和 libro 社区共同发布 AWEL Notebook 功能 libro:灵活定制、轻松集成的 Notebook 产品方案。 社区地址:https://github.com/difizen/libro 使用教程…...
Chrome 浏览器 131 版本新特性
Chrome 浏览器 131 版本新特性 一、Chrome 浏览器 131 版本更新 1. 在 iOS 上使用 Google Lens 搜索 自 Chrome 126 版本以来,用户可以通过 Google Lens 搜索屏幕上看到的任何图片或文字。 要使用此功能,请访问网站,并点击聚焦时出现在地…...
数据结构初识
目录 1.初识 2.时间复杂度 常见时间复杂度举例: 3.空间复杂度 4.包装类&简单认识泛型 4.1装箱和拆箱 5.泛型 6.泛型的上界 7.泛型方法 8.List接口 1.初识 1.多画图 2.多思考 3.多写代码 4.多做题 牛客网-题库/在线编程/剑指offer 算法篇:…...
[ 应急响应进阶篇-2 ] Linux创建后门并进行应急处置-1:超级用户帐号后门
🍬 博主介绍 👨🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…...
设计模式:4、命令模式(双重委托)
目录 0、定义 1、命令模式包括四种角色 2、命令模式的UML类图 3、代码示例 0、定义 将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 1、命令模式包括四种角色 接…...
第27天 安全开发-PHP应用TP 框架路由访问对象操作内置过滤绕过核心漏洞
时间轴 演示案例 TP 框架-开发-配置架构&路由&MVC 模型 TP 框架-安全-不安全写法&版本过滤绕过 TP 框架-开发-配置架构&路由&MVC 模型 参考: https://www.kancloud.cn/manual/thinkphp5_1 1、配置架构-导入使用 去thinkphp官网可以看到&…...
[数组双指针] 0167. 两数之和 II - 输入有序数组
文章目录 1. 题目链接2. 题目大意3. 示例4. 解题思路5. 参考代码 1. 题目链接 167. 两数之和 II - 输入有序数组 - 力扣(LeetCode) 2. 题目大意 描述:给定一个下标从 1 开始计数、升序排列的整数数组:numbers 和一个目标值 targ…...
常用数据结构详解
文章目录 线性数据结构稀疏数组链表单向链表双向链表约瑟夫问题 栈栈实现中缀表达式栈实现后缀表达式中缀表达式转后缀表达式 队列哈希表 非线性数据结构二叉树二叉树的遍历及查找二叉树的删除顺序存储二叉树线索化二叉树 哈夫曼树二叉排序树平衡二叉树多路查找树2-3树B树B树B*…...
css iframe标签使用
<iframe> 标签用于在网页中嵌入另一个 HTML 页面。它非常灵活,可用于嵌入内容,比如其他网站、视频、地图等。以下是有关 <iframe> 的详细介绍及使用方法: 基本语法 <iframe src"URL" width"宽度" height…...
NVR管理平台EasyNVR多品牌NVR管理工具的流媒体视频融合与汇聚管理方案
随着信息技术的飞速发展,视频监控已经成为现代社会安全管理和业务运营不可或缺的一部分。无论是智慧城市、智能交通、还是大型企业、校园安防,视频监控系统的应用都日益广泛。NVR管理平台EasyNVR,作为功能强大的流媒体服务器软件,…...
GISBox VS QGIS:你更倾向于易用性还是追求开源及高度定制化
在地理信息系统(GIS)领域,随着技术的进步和应用场景的多样化,越来越多的GIS软件出现在市场上,为用户提供多样化的选择。对于企业和个人开发者来说,选择最适合自己的GIS软件至关重要。本文将从多个角度对比G…...
OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:分享|16个含源码和数据集的计算机视觉实战项目 本文将分享16个含源码和数据集的计算机视觉实战项目。具体包括: 1. 人…...
联通光猫(烽火通信设备)改桥接教程
一、获得超级密码 1.打开telnet连接权限 http://192.168.1.1/telnet?enable1&key9070D3BECD70(MAC地址)2.连接光猫获取密码 telnet 192.168.1.1 用户名:admin 密码:Fh9070D3BECD70连接成功后 load_cli factory show admin_…...
12 —— Webpack中向前端注入环境变量
需求:开发模式下打印语句生效,生产模式下打印语句失效 使用Webpack内置的DefinePlugin插件 const webpack require(webpack) module.exports { plugins: [ new webpack.DefinePlugin({ process.env.NODE_ENV:JSON.stringify(process.env.NODE_ENV) }…...
Azure Kubernetes Service (AKS)资源优化策略
针对Azure Kubernetes Service (AKS)的资源优化策略,可以从多个维度进行考虑和实施,以提升集群的性能、效率和资源利用率。以下是一些关键的优化策略: 一、 Pod资源请求和限制 设置Pod请求和限制:在YAML清单中为所有Pod设置CPU和…...
根据返回字段名进行查询数据的方法
在Java后端开发中,根据前端返回的字段名动态查询数据库是一种常见的需求。这种需求通常通过使用反射和动态SQL来实现。下面是一个完整的代码示例,它展示了如何根据前端返回的字段名动态查询数据库中的数据。 一、根据前端返回的字段名动态查询数据库中的…...
使用ENSP实现静态路由
一、双路由器静态路由 1.项目拓扑 2.项目实现 (1)路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24 ip address 1.1.1.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为192.168.1.1/24 ip ad…...
SpringBoot3+Vue3开发图书馆管理系统
1 项目介绍 图书馆管理系统,管理图书、用户、借书、还书、实时监测归还是否逾期,逾期未归还会生成违规记录。违规状态不可借阅图书。需缴纳罚金,消除违规记录。可动态设置图书最多累计借阅数量上限和最长借阅天数上限,当用户满足…...
常见的 git 提交备注类型
在 Git 提交中,常见的提交备注(commit message)遵循一定的约定,这有助于代码管理、版本控制以及团队协作。fix 和 feat 是常见的提交类型,下面是这两个的含义,以及其他常见的提交类型。 常见的 Git 提交备…...
Redis 的代理类注入失败,连不上 redis
在测试 redis 是否成功连接时,发现 bean 没有被创建成功,导致报错 根据报错提示,需要我们添加依赖: <dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId>&l…...
Hook 技术:修改 Android 系统属性,提升应用调试和定制化能力
Hook 技术:修改 Android 系统属性,提升应用调试和定制化能力 我知道很多小伙伴,尤其是玩 Android 的开发者,都会有这种需求: 想修改设备的 系统属性,比如 设备型号、API 版本、屏幕分辨率 或 密度&#x…...
Excel如何把两列数据合并成一列,4种方法
Excel如何把两列数据合并成一列,4种方法 参考链接:https://baijiahao.baidu.com/s?id=1786337572531105925&wfr=spider&for=pc 在Excel中,有时候需要把两列或者多列数据合并到一列中,下面介绍4种常见方法,并且提示一些使用注意事项,总有一种方法符合你的要求:…...
英文版本-带EXCEL函数的数据分析
一、问题: 二、表格内容 三、分析结果 四、具体的操作步骤: 销售工作表公式设计与数据验证 类别(Category)列公式: 在Category列(假设为D列),根据ProductCode在Catalogue工作表中查找…...
LangChain入门
LangChain入门 | 豆包MarsCode AI 刷题 本篇文章为《LangChain 实战课》前三节课的总结性文章,主要内容包含内容梳理与总结,学习记录,以及一些思考。 01开篇词|带你亲证AI应用开发的“奇点”时刻 内容 这篇文章介绍…...
STM32-- 串口介绍
rs485、rs232、rs422 rs485使用: max3485:3.3v左右驱动 max485:5v左右驱动,不过有时候3.3v驱动也可以使用,具体有什么问题或者通过电路规避问题还没有了解过。 rs485和rs422有相同的地方,485满足422的规…...
【Python TensorFlow】进阶指南(续篇三)
在前几篇文章中,我们探讨了TensorFlow的高级功能,包括模型优化、分布式训练、模型解释等多个方面。本文将进一步深入探讨一些更具体和实用的主题,如模型持续优化的具体方法、异步训练的实际应用、在线学习的实现细节、模型服务化的最佳实践、…...
仓颉——申请内测、环境搭建、编译测试
2024年6月21日,华为仓颉正式公开发布。 不少同学看过仓颉白皮书后,都在找SDK从哪下载,HelloWorld怎么跑。仓颉公众号也及时发布了内测的方式,我也亲自走了一遍整个流程, 一,申请内测 关注“仓颉编程语言…...
C语言教程指针笔记整理(二)
https://www.bilibili.com/video/BV1cx4y1d7Ut?spm_id_from333.788.videopod.episodes&vd_sourcee8984989cddeb3ef7b7e9fd89098dbe8&p107 本篇为贺宏宏老师C语言教程指针部分笔记整理 //8-19 一维数组和二维数组 // int arr[4] [][][][] //含义: //1.arr…...
3.无重复字符的最长子串 python
无重复字符的最长子串 题目描述示例 1:示例 2:示例 3:提示:题目链接 解题思路Python 实现详细解释 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的最长 子串的长度。 示例 1: 输入: s “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子…...
NIST 发布后量子密码学转型战略草案
美国国家标准与技术研究所 (NIST) 发布了其初步战略草案,即内部报告 (IR) 8547,标题为“向后量子密码标准过渡”。 该草案概述了 NIST 从当前易受量子计算攻击的加密算法迁移到抗量子替代算法的战略。该草案于 2024 年 11 月 12 日发布,开放…...
高危,Laravel参数注入漏洞安全风险通告
今日,亚信安全CERT监控到安全社区研究人员发布安全通告,披露了Laravel 参数注入漏洞(CVE-2024-52301)。在受影响的版本中,Application.php 文件的 detectEnvironment 函数直接使用了 $_SERVER[argv],但没有检查运行环境是否为 CLI…...
【漏洞复现】|智互联SRM智联云采系统quickReceiptDetail SQL注入漏洞
漏洞描述 智互联(深圳)科技有限公司SRM智联云采系统针对企业供应链管理难题,及智能化转型升级需求,智联云采依托人工智能、物联网、大数据、云等技术,通过软硬件系统化方案,帮助企业实现供应商关系管理和采购线上化、移动化、智能…...
【Visual Studio系列教程】如何在 VS 上编程?
上一篇博客中,我们介绍了《什么是 Visual Studio?》。本文,我们来看第2篇《如何在 VS 上编程?》。阅读本文大约10 分钟。我们会向文件中添加代码,了解 Visual Studio 编写、导航和了解代码的简便方法。 本文假定&…...
Pytest-Bdd-Playwright 系列教程(12):步骤参数 parsers参数解析
Pytest-Bdd-Playwright 系列教程(12):步骤参数 & parsers参数解析 前言一、什么是步骤参数?二、pytest-bdd 的步骤参数用法2.1 简单字符串解析2.2 自定义正则表达式解析2.3 参数类型转换 三、案例:基于 pytest-bdd…...