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

python3 0基础学习----数据结构(基础+练习)

python 0基础学习笔记之数据结构

  • 📚 几种常见数据结构
    • 列表 (List)
      • 1. 定义
      • 2. 实例:
      • 3. 列表中常用方法
        • .append(要添加内容) 向列表末尾添加数据
        • .extend(列表) 将可迭代对象逐个添加到列表中
        • .insert(索引,插入内容) 向指定位置插入内容
        • .remove(删除内容) 删除指定内容
        • .pop(索引) 删除指定索引处内容并返回删除内容
        • .index(要查询内容) 返回一个与制定元素匹配的索引,不改变原列表
        • .count(要查询内容) 返回列表中该元素出现次数
        • .sort() 同类型排序(默认升序),不同类型会报错TypeError: '<' not supported between instances of 'int' and 'str'
        • .reverse() 反向排序,不分类型
    • 元组(Tuple)
      • 1. 定义
      • 2. 实例:
        • 元组输出的是列表的子集
      • 3. 元组中常用方法
        • .index(element) 返回第一个与制定元素相等的元素的索引
        • .count(要查询内容) 返回列表中该元素出现次数![在这里插入图片描述](https://img-blog.csdnimg.cn/1a264c52bab343c9b7464f8a75176e64.png)
        • 修改元组内容
    • 字典(Dictionary)
      • 1. 定义
      • 2. 实例:
      • 3. 字典中常用方法
        • in和not in方法
        • for 键 in 字典
        • for in 和items()结合使用
        • .keys() 返回一个包含字典所有`键`的视图
        • .values() 返回一个包含字典所有`值`的视图
        • get(key, default):返回指定键的值,如果键不存在,则返回默认值(default)。
        • .pop(key):移除指定键的键值对,并返回键对应的值。
        • .popitem():随机移除并返回一个键值对
        • .update(): 使用其他字典内容更新当前字典
        • .clear():移除字典中的所有键值对。
        • .items() : 用于以键-值对(key-value pairs)
    • 集合(Set)
      • 1. 定义
      • 2. 实例:
      • 3. 集合常用方法
        • .add(element)向集合`随机`添加元素(因为无序所以随机)
        • .remove(element)从集合中删除某元素,如果该集合没有该元素返回错误KeyError
        • .discard(element)从集合中删除某元素,如果该集合没有该元素也不会报错
        • .pop()随机移初一个元素,并返回该元素(集合是无序的,无法确定删除的元素是那个)
        • .clear() 清除集合中所有元素,输出set()
        • .copy():复制一个集合
    • 字符串(String)
      • 1. 定义
      • 2. 实例:
      • 3. 集合常用方法
  • 📚 常用的内置函数
    • 1. print(): 将制定的值输出到控制台
    • 2. len(sequence): 返回序列的长度(元素个数)
    • 3. type(object): 返回对象的类型
    • 4. input('请输入') : 获取用户输入数据
    • 5. range(初值, 终值, 步长)内置函数,返回的是一个可迭代对象。用于创建数字序列
    • 6. int(x)、float(x)、str(x)、bool(x) 等:将输入值转换为整数、浮点数、字符串或布尔值类型。
    • 7. max(iterable)、min(iterable):返回可迭代对象中的最大值和最小值。
    • 8. sum() 返回可迭代对象的和(用于数组类型的对象)
    • 9. abs(x):返回数值的绝对值。
    • 10. round(number, ndigits):将数值四舍五入到指定的小数位数
    • 11. dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表
  • 📚 结合实战练习
    • 1. 列表中in和not in 的使用
    • 练习2 :读取a.txt文件,对每一行使用split()方法拆分为单词列表,对每一行单词进行筛选去重复,添加到新的列表中。最后使用sort()进行排序。(大概意思是提取a.txt中出现过的单词生成一个列表)
      • 1. a.txt文件内容(请忽略内容是什么意思,网上是那个随便找的)
      • 2. 提取单词思路
      • 3. 代码:
      • 4. 输出结果
    • 练习2 :读取一份邮件,获取到邮件中出现过的单词生成字典,并记录每个地址出现过的个数
      • 1. a.txt内容和上一题一样
      • 2. 思路
      • 3. 代码
      • 4. 运行结果
    • 练习3 :在练习2中升级,输出练习2中,单词出现最多的建和键值

📚 几种常见数据结构

列表 (List)

1. 定义

列表是一种有序的可变序列,可以包含不同类型的元素。列表可以通过方括号 [] 来表示,元素之间用逗号分隔

注释: 注意列表可变,字符串不可变,只能改变大小写

2. 实例:

my_list = [1, 'hello', 3.14, True]

3. 列表中常用方法

.append(要添加内容) 向列表末尾添加数据

在这里插入图片描述

.extend(列表) 将可迭代对象逐个添加到列表中

在这里插入图片描述

.insert(索引,插入内容) 向指定位置插入内容

在这里插入图片描述

.remove(删除内容) 删除指定内容

在这里插入图片描述

.pop(索引) 删除指定索引处内容并返回删除内容

在这里插入图片描述

.index(要查询内容) 返回一个与制定元素匹配的索引,不改变原列表

在这里插入图片描述

.count(要查询内容) 返回列表中该元素出现次数

在这里插入图片描述

.sort() 同类型排序(默认升序),不同类型会报错TypeError: ‘<’ not supported between instances of ‘int’ and ‘str’

在这里插入图片描述

.reverse() 反向排序,不分类型

在这里插入图片描述

元组(Tuple)

1. 定义

元组是一种有序的不可变序列,同样可以包含不同类型的元素。元组可以通过圆括号 () 来表示,元素之间用逗号分隔

2. 实例:

my_tuple = (1, 'hello', 3.14, True)

元组输出的是列表的子集

在这里插入图片描述

3. 元组中常用方法

因为元组是不可修改的所以只能查询,如果要修改得先转换成列表进行修改,之后在转换成元组

x = (1,5,'i','j')
# x.sort() #报错 AttributeError: 'tuple' object has no attribute 'sort'
print(x[1]) #输出: 5
x[1] = 6 #报错 TypeError: 'tuple' object does not support item assignment

在这里插入图片描述

.index(element) 返回第一个与制定元素相等的元素的索引

在这里插入图片描述

.count(要查询内容) 返回列表中该元素出现次数在这里插入图片描述

修改元组内容

在这里插入图片描述

字典(Dictionary)

1. 定义

字典是一种键值对的集合,键和值可以是任意的数据类型。字典可以通过花括号 {} 来表示,每个键值对使用冒号 : 分隔,键值对之间用逗号分隔。可做内容修改

a={age:10}
a['age']=18
print(a) #输出 {'age': 18}

字典里边没有顺序 ,列表有从0开始
字典是直接删除重新加入,所以没有顺序

2. 实例:

my_dict = {'name': 'John', 'age': 25, 'city': 'New York'}

3. 字典中常用方法

in和not in方法

a={'age':10,'name':'xiaoming'}
print('name' in a)  #输出 True
print('s' not in a)  #输出 True

for 键 in 字典

可以通过dict(健)=键值

for in 和items()结合使用

for 健,键值 in 字典.items()

a = {'age':10,'name':'xiaoming'}
for (k,v) in a.items():  #()可加可不加print(k,v)

print(k,v) 输出:

age 10
name xiaoming

.keys() 返回一个包含字典所有的视图

在这里插入图片描述

.values() 返回一个包含字典所有的视图

在这里插入图片描述

get(key, default):返回指定键的值,如果键不存在,则返回默认值(default)。

在这里插入图片描述

.pop(key):移除指定键的键值对,并返回键对应的值。

在这里插入图片描述

.popitem():随机移除并返回一个键值对

在这里插入图片描述

.update(): 使用其他字典内容更新当前字典

在这里插入图片描述

.clear():移除字典中的所有键值对。

在这里插入图片描述

.items() : 用于以键-值对(key-value pairs)

my_dict = {'name': 'Alice', 'age': 25, 'city': 'New York'}
items = my_dict.items()
print(items)

输出: dict_items([(‘name’, ‘Alice’), (‘age’, 25), (‘city’, ‘New York’)])

集合(Set)

1. 定义

集合是一种无序的不重复的元素的集合。集合可以通过花括号 {} 或 set() 函数来创建

2. 实例:

my_set = {1, 2, 3, 4, 5}

3. 集合常用方法

.add(element)向集合随机添加元素(因为无序所以随机)

在这里插入图片描述

.remove(element)从集合中删除某元素,如果该集合没有该元素返回错误KeyError

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

.discard(element)从集合中删除某元素,如果该集合没有该元素也不会报错

在这里插入图片描述

.pop()随机移初一个元素,并返回该元素(集合是无序的,无法确定删除的元素是那个)

在这里插入图片描述

.clear() 清除集合中所有元素,输出set()

在这里插入图片描述

.copy():复制一个集合

在这里插入图片描述

字符串(String)

1. 定义

字符串是一种由字符组成的不可变序列,可以用单引号或双引号括起来

2. 实例:

my_string = 'Hello, World!'

3. 集合常用方法

上篇文章有写,跳转地址python3 0基础学习----基本知识
在这里插入图片描述

📚 常用的内置函数

1. print(): 将制定的值输出到控制台

print('hi~') #输出 hi~

2. len(sequence): 返回序列的长度(元素个数)

在这里插入图片描述

3. type(object): 返回对象的类型

在这里插入图片描述

4. input(‘请输入’) : 获取用户输入数据

在这里插入图片描述

5. range(初值, 终值, 步长)内置函数,返回的是一个可迭代对象。用于创建数字序列

for num in range(5):print(num)  # 输出: 0, 1, 2, 3, 4for num in range(2, 7):print(num)  # 输出: 2, 3, 4, 5, 6for num in range(1, 10, 2):print(num)  # 输出: 1, 3, 5, 7, 9

6. int(x)、float(x)、str(x)、bool(x) 等:将输入值转换为整数、浮点数、字符串或布尔值类型。

num1 = int("10")
num2 = float("3.14")
text = str(42)
flag = bool(1)

7. max(iterable)、min(iterable):返回可迭代对象中的最大值和最小值。

my_list = [3, 1, 5, 2, 4]
max_value = max(my_list)
min_value = min(my_list)
print(max_value) #输出 5
print(min_value) #输出 1 

在这里插入图片描述

8. sum() 返回可迭代对象的和(用于数组类型的对象)

在这里插入图片描述

9. abs(x):返回数值的绝对值。

s = abs(-10)
print(s) #输出 10

10. round(number, ndigits):将数值四舍五入到指定的小数位数

rounded_num = round(3.14159, 2)
print(rounded_num) #输出3.14

11. dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表

>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ])    # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

📚 结合实战练习

1. 列表中in和not in 的使用

some = [1,2,3,4,5,6]
print(3 in some) #输出 True
print(3 not in some) #输出 False

练习2 :读取a.txt文件,对每一行使用split()方法拆分为单词列表,对每一行单词进行筛选去重复,添加到新的列表中。最后使用sort()进行排序。(大概意思是提取a.txt中出现过的单词生成一个列表)

1. a.txt文件内容(请忽略内容是什么意思,网上是那个随便找的)

Dear Sir/Madam,

I am writing this email to express my gratitude to you and to discuss
some matters. I hope this email finds you in good health and high
spirits.

Firstly, I would like to sincerely thank you for your generosity and
assistance. I have been facing some difficulties in pursuing my career
goals, and your support has been invaluable to me. Your advice and
guidance have helped me gain a better understanding of the challenges
I have faced and have motivated me to continue striving.

The purpose of this email is to request a meeting with you in order to
personally express my gratitude. I would like the opportunity to
showcase the progress I have made in my professional development and
to hear your valuable insights. If you are willing, I can arrange the
meeting according to your convenience, and the location and date can
be adjusted according to your preferences.

Furthermore, I wanted to inquire if there is anything else I can do
for you. Your generosity may have an impact not only on me personally
but also on other individuals I may be able to assist. Please let me
know if there is anything you need help with, as I would be more than
happy to offer my assistance.

Once again, thank you for your support and generosity, and I hold
great expectations for the future. I sincerely look forward to meeting
with you and expressing my gratitude in person. If you have any
questions or require further information regarding the meeting, please
feel free to contact me.

With heartfelt appreciation,

[Your Name]

2. 提取单词思路

遍历文件每行内容
拆分每行内容为单词列表
遍历当前行列表单词
查找list中是否存在当前单词,存在记录出现个数,不存在新增一条记录

3. 代码:

th = open('a.txt')
print('读取文件内容',th)
lst = list()#空列表
for item in th:itemStr = item.rstrip()# 去除末尾空白符号pList = itemStr.split()# 以空格作为分隔符分割每行数据,返回一个单词列表  ,例如首行:['Dear', 'Sir/Madam,']for word in pList:if len(lst)==0:lst.append(word)continueif len(lst)>0:if lst.count(word)>0:continueelse:lst.append(word)print('列表长度',len(lst))
lst.sort()
print(lst)

4. 输出结果

在这里插入图片描述

练习2 :读取一份邮件,获取到邮件中出现过的单词生成字典,并记录每个地址出现过的个数

1. a.txt内容和上一题一样

2. 思路

读取文件
声明空字典
遍历文件内容
去掉每行结尾空白符号
切割每行生成单词字典

3. 代码

th = open('a.txt')
dictStr = dict()#空字典
for item in th:itemStr = item.rstrip()# 去除末尾空白符号pDict = itemStr.split()# 以空格作为分隔符分割每行数据,返回一个单词列表  ,例如首行:['Dear', 'Sir/Madam,']for word in pDict:dictStr[word] = dictStr.get(word,0)+1 #查找。找到获取对应值+1,没找到默认为0+1
# print(dictStr.items())#items方法,返回可迭代对象的(key,value)
print(sorted([(k,v) for k,v in dictStr.items()]))

4. 运行结果

在这里插入图片描述

练习3 :在练习2中升级,输出练习2中,单词出现最多的建和键值

bigKey = None #最大键
bigValue = None  #最大键值
for k,v in dictStr.items():if bigKey is None or v>bigValue: # is判断是否相等,or或bigValue = vbigKey = k
print(bigKey,':',bigValue)

输出结果:to : 17

相关文章:

python3 0基础学习----数据结构(基础+练习)

python 0基础学习笔记之数据结构 &#x1f4da; 几种常见数据结构列表 &#xff08;List&#xff09;1. 定义2. 实例&#xff1a;3. 列表中常用方法.append(要添加内容) 向列表末尾添加数据.extend(列表) 将可迭代对象逐个添加到列表中.insert(索引&#xff0c;插入内容) 向指定…...

计算机科学中的“旅行商问题”

题目&#xff1a;旅行商问题&#xff08;Traveling Salesman Problem&#xff09; 当初为何收藏&#xff1a;我收藏了这个题目是因为它是一个经典而富有挑战性的组合优化问题&#xff0c;涉及到计算机科学、算法设计和实际应用领域。我认为这个问题可以展示出算法设计的重要性…...

QT:自定义控件(Connect使用,子控件连接)

自定义控件封装&#xff1a; 1.添加新文件&#xff08;设计师界面类&#xff09;&#xff0c;创建子页面 &#xff0c;放自己想要的控件 2.在主页面中使用子控件 :新建一个widget-![在这里插入图片描述](https://img-blog.csdnimg.cn/95ed8015343e4c56a3914853950eff4c.png#pi…...

目录——车载网络安全

本文主要汇总车载网络安全专栏文章,以方便各位读者阅读。 ISO21434 概述(一) ISO21434 组织网络安全管理(二) ISO21434 项目网络安全管理(三) ISO21434 分布式网络安全(四) SO21434 持续进行的网络安全(五) ISO21434 概念阶段网络安全(六)...

Visual Studio 如何放大代码字体的大小

1.打开Visual Studio&#xff0c;新建一个程序&#xff0c;一段代码&#xff0c;为接下去的操作做好准备。单击菜单栏的【工具】选项。 2.在跳出来菜单中找到【选项】&#xff08;一般在最后一项&#xff09;&#xff0c;然后单击。跳出新的窗口。 3.跳出新的窗口后&#xff…...

Verilog同步FIFO设计

同步FIFO(synchronous)的写时钟和读时钟为同一个时钟&#xff0c;FIFO内部所有逻辑都是同步逻辑&#xff0c;常常用于交互数据缓冲。 异步FIFO&#xff1a;数据写入FIFO的时钟和数据读出FIFO的时钟是异步的(asynchronous) 典型同步FIFO有三部分组成: &#xff08;1&#xff0…...

Php“牵手”lazada商品详情页数据采集方法,lazadaAPI接口申请指南

lazada详情接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片等信息。在电商平台的开发中&#xff0c;详情接口API是非常常用的 API&#xff0c;因此本文将详细介绍详情接口 API 的使用。 一、la…...

Sentinel 规则持久化

文章目录 Sentinel 规则持久化一、修改order-service服务1.引入依赖2.配置nacos地址 第二步修改非常麻烦&#xff0c;可以略过&#xff0c;直接使用已经打好包的来使用二、修改sentinel-dashboard源码1. 解压2. 修改nacos依赖3. 添加nacos支持4. 修改nacos地址5. 配置nacos数据…...

元宇宙时代超高清视音频技术白皮书关于流媒体协议和媒体传输解读

流媒体协议 元宇宙业务场景对流媒体传输的实时性和互动性提出了更高的要求&#xff0c;这就需要在传统的 RTMP、SRT、 HLS 等基础上增加实时互动的支持。实时互动&#xff0c;指在远程条件下沟通、协作&#xff0c;可随时随地接入、实时地传递虚实融合的多维信息&#xff0c;身…...

【计算机设计大赛】国赛一等奖项目分享——基于多端融合的化工安全生产监管可视化系统

文章目录 一、计算机设计大赛国赛一等奖二、项目背景三、项目简介四、系统架构五、系统功能结构六、项目特色&#xff08;1&#xff09;多端融合&#xff08;2&#xff09;数据可视化&#xff08;3&#xff09;计算机视觉&#xff08;目标检测&#xff09; 七、系统界面设计&am…...

深入理解【二叉树】

&#x1f4d9;作者简介&#xff1a; 清水加冰&#xff0c;目前大二在读&#xff0c;正在学习C/C、Python、操作系统、数据库等。 &#x1f4d8;相关专栏&#xff1a;C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…...

RequestRespons

文章目录 Request&Respons1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…...

UniApp 使用命令创建页面的详细指南

系列文章目录 文章目录 系列文章目录前言一、安装Uni-CLI二、创建页面三、页面创建命令四、页面结构五、页面使用总结 前言 UniApp是一款跨平台的前端框架&#xff0c;可以用于开发同时运行在多个平台&#xff08;如微信小程序、H5、App等&#xff09;的应用程序。本文将详细介…...

Opencv 图像的读取与写入

目录 导入cv2 读取图像数据 创建一个窗口 waitKey方法 关闭所有窗口 完整示例 保存图片 示例 导入cv2 # 导入opencv包 import cv2 读取图像数据 cv2.imread(path, flag) 参数说明&#xff1a; path&#xff1a;要读取的图像文件的路径。 flag&#xff08;可选&#…...

关于rinex3.x广播星历文件中时间系统的说明

文章目录 rinex广播星历文件介绍广播星历介绍rinex3.x多系统广播星历文件中的时间系统写在最后 rinex广播星历文件介绍 rinex星历文件是一种ascii字符文件&#xff0c;可以存放广播星历和精密星历&#xff0c;被广泛用于GNSS数据处理。 本文主要介绍广播星历文件。 对于rinex…...

Ansible 实战

Ansible 实战 1. httpd 角色 目录 rootubuntu1904:~#tree -f httpd/ httpd ├── httpd/default │ └── httpd/default/main.yml ├── httpd/files │ ├── httpd/files/httpd.conf │ └── httpd/files/index.html ├── httpd/handlers │ └── http…...

三、单元测试

三、单元测试 好的单元测试必须遵守 AIR 原则 A&#xff1a;Automatic&#xff08;自动化&#xff09;I&#xff1a;Independent&#xff08;独立性&#xff09;R&#xff1a;Repeatable&#xff08;可重复&#xff09; 单元测试应该是全自动执行的&#xff0c;并且非交互式的…...

“Spring管理JavaBean的过程及Bean的生命周期“

目录 引言1.弹簧容器2. Bean的生命周期2.1 配置javaBean2.2. 解析Bean的定义2.3 检查是否需要添加自己的功能2.4 初始化2.5 实现Aware接口2.6 扩展2.7. 销毁 3. 单例模式和原型模式3.1. 单例模式3.2. 原型模式 4. 总结 引言 Spring框架是一个非常流行的Java应用程序框架&#…...

@mouseover不起作用,并没有触发

我的错误代码如下&#xff1a; <el-rowv-for"version in item.version_list":key"version.id":class"{ blue-background: versionItem.id version.id }"mouseover.native"version.isHovered true"mouseleave.native"version…...

Vue 2 组件注册

组件名的命名规则 定义组件名的两种方式&#xff1a; 短横线分隔命名&#xff0c;Kebab Case&#xff0c;例如my-component-name。单词首字母大写命名&#xff0c;Pascal Case&#xff0c;例如MyComponentName。 第一种方式在模板中使用<my-component-name>引用该元素…...

学习游戏开发引擎,打造梦想中的虚拟世界!

游戏开发引擎是游戏开发过程中的关键工具&#xff0c;它们提供了开发者所需的各种功能和资源&#xff0c;加速了游戏的制作过程。以下是一些常用的游戏开发引擎以及它们的优势&#xff1a; Unity&#xff08;Unity3D&#xff09;&#xff1a; 优势&#xff1a; Unity 是目前最…...

AI搜索引擎助力科学家创新

开发者希望通过帮助科学家从大量文献中发现联系从而解放科学家&#xff0c;让他们专注于发现和创新。 图片来源&#xff1a;The Project Twins 对于专注于历史的研究者Mushtaq Bilal来说&#xff0c;他在未来科技中投入了大量时间。 Bilal在丹麦南部大学&#xff08; Universit…...

神经网络基础-神经网络补充概念-50-学习率衰减

概念 学习率衰减&#xff08;Learning Rate Decay&#xff09;是一种优化算法&#xff0c;在训练深度学习模型时逐渐减小学习率&#xff0c;以便在训练的后期更加稳定地收敛到最优解。学习率衰减可以帮助在训练初期更快地靠近最优解&#xff0c;而在接近最优解时减小学习率可以…...

android.system.ErrnoException: open failed: EPERM (Operation not permitted)

android 10(Q)开始增加了沙盒机制&#xff0c;不能直接把文件保存到/sdcard目录下&#xff0c;只能保存到APP专属目录下&#xff1b;AndroidManifest.xml在标签下增加属性【android:requestLegacyExternalStorage“true”】可以暂时保存到/sdcard路径下&#xff0c;但是Android…...

基于 KubeSphere 的应用容器化在智能网联汽车领域的实践

公司简介 某国家级智能网联汽车研究中心成立于 2018 年&#xff0c;是担当产业发展咨询与建议、共性技术研发中心、创新成果转化的国家级创新平台&#xff0c;旨在提高我国在智能网联汽车及相关产业在全球价值链中的地位。 目前着力建设基于大数据与云计算的智能汽车云端运营…...

面试之ReentrantLock

一&#xff0c;ReentrantLock 1.ReentrantLock是什么&#xff1f; ReentrantLock实现了Lock接口&#xff0c;是一个可重入且独占式的锁&#xff0c;和Synchronized关键字类似&#xff0c;不过ReentrantLock更灵活&#xff0c;更强大&#xff0c;增加了轮询、超时、中断、公平锁…...

系统学习Linux-MongoDB

概述 mongodb是一个nosql数据库&#xff0c;它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富&#xff0c;最像关系数据库的。数据库格式为BSON 相关概念实例&#xff1a;系统上运行的mongodb的进程&#xff0c;类似于mysql实例&#xff1b;库&#xff1a;每个数…...

【带着学Pytorch】2、张量(Tensor)的介绍与创建

一、Tensor介绍 1.1、 张量是什么? 最开始在出现CPU和GPU, GPU出现主要解决的问题时并行计算,在此基础上的软件层面的工作基本上围绕着并行计算进行的,张量也不例外。 首先,我们先来聊聊 编程语言,python,java ,C,C++等,他们都有的共同特点是什么?在大学中计算机类…...

UniApp 制作高德地图插件

1、下载Uni插件项目 在Uni官网下载Uni插件项目&#xff0c;并参考官网插件项目创建插件项目. 开发者须知 | uni小程序SDK 如果下载下来项目运行不了可以参考下面链接进行处理 UniApp原生插件制作_wangdaoyin2010的博客-CSDN博客 2、引入高德SDK 2.1 在高德官网下载对应SD…...

C# 图像处理之灰色图转化为RGB图像

咨询通义千问的“C# 图像处理之灰色图转化为RGB图像”结果&#xff0c;看看如何&#xff1a; 在C#中&#xff0c;可以使用Image类来处理图像。要将灰色图像转换为RGB图像&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.创建一个灰色图像对象。 Image grayImage Imag…...

从零实战SLAM-第八课(非特征点的视觉里程计)

在七月算法报的班&#xff0c;老师讲的蛮好。好记性不如烂笔头&#xff0c;关键内容还是记录一下吧&#xff0c;课程入口&#xff0c;感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…...

Azure使用CLI创建VM

使用CLI创建VM之前&#xff0c;确保资源中的IP资源已经释放掉了&#xff0c;避免创建的过程中没有可以利用的公共IP地址打开 cloudshell ,并输入创建CLI的命令如下&#xff0c;-n指定名称&#xff0c;-g指定资源组&#xff0c;image指定镜像&#xff0c;admin-usernam指定用户名…...

Rust: 聊聊AtomicPtr<()>和 *const ()

在Bytes库在github源码&#xff08;https://docs.rs/bytes/1.1.0/src/bytes/bytes.rs.html#94-100&#xff09;有关Bytes的定义中&#xff0c; pub struct Bytes {ptr: *const u8,len: usize, // inlined "trait object"data: AtomicPtr<()>, vtable: &st…...

公网远程连接Redis数据库详解

文章目录 1. Linux(centos8)安装redis数据库2. 配置redis数据库3. 内网穿透3.1 安装cpolar内网穿透3.2 创建隧道映射本地端口 4. 配置固定TCP端口地址4.1 保留一个固定tcp地址4.2 配置固定TCP地址4.3 使用固定的tcp地址连接 前言 洁洁的个人主页 我就问你有没有发挥&#xff0…...

天津报web前端培训班一定要选贵的吗?

根据这几年数据显示&#xff0c;IT行业飞速发展&#xff0c;岗位需求增多&#xff0c;Web前端是个很新的职业&#xff0c;在国内乃至国际上真正开始受到重视的时间不超过五年&#xff0c;Web前端开发是从网页制作演变而来&#xff0c;名称是有很明显的时代特性。 Web前端就业形…...

iptables学习笔记

iptables的结构&#xff1a; iptables由上而下&#xff0c;由Tables&#xff0c;Chains&#xff0c;Rules组成。 一、iptables的表tables与链chains iptables有Filter, NAT, Mangle, Raw四种内建表&#xff1a; 1. Filter表 Filter是iptables的默认表&#xff0c;它有以下…...

Express 实战(一):概览

在正式学习 Express 内容之前&#xff0c;我们有必要从大的方面了解一下 Node.js 。 在很长的一段时间里&#xff0c;JavaScript 一门编写浏览器中运行脚本的语言。不过近些年&#xff0c;随着互联网的发展以及技术进步&#xff0c;JavaScript 迎来了一个集中爆发的时代。一个…...

SpringBoot中的可扩展接口

目录 # 背景 # 可扩展的接口启动调用顺序图 # ApplicationContextInitializer # BeanDefinitionRegistryPostProcessor # BeanFactoryPostProcessor # InstantiationAwareBeanPostProcessor # SmartInstantiationAwareBeanPostProcessor # BeanFactoryAware # Applicati…...

中大型无人机远程VHF语音电台系统方案

方案背景 中大型无人机在执行飞行任务时&#xff0c;特别是在管制空域飞行时地面航管人员需要通过语音与无人机通信。按《无人驾驶航空器飞行管理暂行条例》规定&#xff0c;中大型无人机应当进行适航管理。物流无人机和载人eVTOL都将进行适航管理&#xff0c;所以无人机也要有…...

数字孪生和SCADA有哪些区别?

虽然SCADA和数字孪生用于工业领域&#xff0c;但它们有不同的用途。SCADA专注于工业过程的实时监测和控制&#xff0c;而数字孪生用于模拟和分析系统的性能。接下来&#xff0c;让我们详细讨论SCADA和数字孪生&#xff08;SCADA与数字孪生&#xff09;之间的区别。 SCADA与数字…...

[bug] 记录version `GLIBCXX_3.4.29‘ not found 解决方法

在使用mediapipe 这个库的时候&#xff0c;首次使用出现 GLIBCXX_3.4.29’ not found 错误&#xff0c; 看起来是安装mediapipe 的时候自动升级了 matplotlib 这个库&#xff0c;导致依赖的 libstd.so 版本不满足了&#xff0c;GLIBCXX_3.4.29 is an object from libstdc.so.…...

git 回滚相关问题

原本用as自带的git执行回滚任务&#xff0c; 但是提交之后发现并没有成功&#xff0c; 后面通过命令行的方式重新回滚并且提交上去&#xff0c;就可以了 说明as的git还是有点小瑕疵&#xff0c;还是命令行最稳妥 相关博文&#xff1a; git代码回滚操作_imkaifan的博客-CSDN博…...

SQL力扣练习(十一)

目录 1.树节点(608) 示例 1 解法一(case when) 解法二(not in) 2.判断三角形(610) 示例 1 解法一(case when) 解法二(if) 解法三(嵌套if) 3.只出现一次的最大数字(619) 示例 1 解法一(count limit) 解法二(max) 4.有趣的电影(620) 解法一 5.换座位(626) 示例 …...

如何将常用的jdbc方法封装起来???

你是否还在为每次新建项目连接数据库而烦恼&#xff1f;&#xff1f;&#xff1f;&#xff08;教你一次代码&#xff0c;简单完成每次连接&#xff09; 1.建立maven项目 还没下载安装或者不会建立maven项目的可以看这里哦&#xff1a;maven的下载安装与配置环境变量&#xff0…...

【1day】复现任我行协同CRM存在SQL注入漏洞

目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现 一、漏洞描述 任我行CRM是CRM(客户关系管理)、OA(自动化办公)、OM(目标管理)、KM(知识管理)、HR(人力资源)一体化的企业管理软件。通过建立组织运营管理铁三角(目标行动-企业文化-知识复制),一...

3D虚拟形象数字替身的制作及应用介绍

“虚拟数字人”这一词汇已经深入人心。从虚拟偶像、虚拟代言人到虚拟主播、虚拟员工各种类型虚拟数字形象不断进入公众视野&#xff0c;由于其与Z世代的独特亲和力以及与新媒体平台的高度适配性&#xff0c;虚拟数字人在各个领域都在呈崛起之势&#xff0c;并且有着深度的融合&…...

Spring中JavaBean的生命周期及模式

( 本篇文章大部分讲述了是底层知识&#xff0c;理念及原理 ) ( 如果只想了解&#xff0c;看我标记的重点即可&#xff0c;如果想明白其中原理&#xff0c;请耐心看完&#xff0c;对你大有受益 ) 目录 一、简介 ( 1 ) 是什么 ( 2 ) 背景概述 ( 3 ) 作用 二、生命周期 2.1 …...

Qt5开发环境-银河麒麟V10ARM平台

目录 前言1.源码下载2.编译安装2.1 安装依赖2.2 编译2.3 遇到的问题2.4 安装 3.编译qtwebengine3.1 安装依赖库3.2 编译3.3 遇到的问题3.4 安装 4.配置开发环境5.测试6.程序无法输入中文的问题总结 前言 近期因参与开发的某个软件需要适配银河麒麟v10arm 平台&#xff0c;于是…...

「Qt」文件读写操作

0、引言 我们知道 C 和 C 都提供了文件读写的类库&#xff0c;不过 Qt 也有一套自己的文件读写操作&#xff1b;本文主要介绍 Qt 中进行文件读写操作的类 —— QFile。 1、QFileDialog 文件对话框 一般的桌面应用程序&#xff0c;当我们想要打开一个文件时&#xff0c;通常会弹…...

0101前期准备-大数据学习

文章目录 1 前言2 配置VMware虚拟机2.1 设置主机名和固定IP2.2 本地系统与Linux系统配置主机名映射2.3 配置虚拟机之间用户的SSH免密互通2.4 安装JDK环境2.5 关闭防火墙和SELinux2.6 更新时区和同步时间2.7 保存虚拟机快照 结语 1 前言 我们从基础的hadoop开始学起&#xff0c;…...