Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
目录
- Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
- 一、创建列表
- 1、通过赋值创建列表
- 2、使用 list() 函数创建列表
- 3、使用 copy() 方法复制列表
- 4、合并列表
- 二、列表的基本操作
- 1、索引
- 2、切片
- 3、重复
- 4、连接
- 5、判断一个元素是否存在
- 6、迭代(使用 for 循环遍历)
- 7、列表的嵌套
- 三、列表的增、删、改
- 1、更改列表项
- (1)通过索引号来更改指定列表元素
- (2)通过切片来更改列表元素
- 2、增加列表项
- (1)使用 append() 方法追加列表元素
- (2)使用 insert() 方法追加列表元素
- (3)使用 extend() 方法追加列表元素
- 3、删除列表项
- (1)使用 remove() 方法删除列表元素:根据元素值删除
- (2)使用 pop() 方法删除列表元素:根据索引删除
- (3)使用 del 关键字删除列表或指定的列表元素:根据索引或范围删除
- (4)使用 clear() 删除列表元素
列表由一系列特定顺序排列的元素组成,是 Python 中内置的可变序列。列表的所有元素都放在一对中括号([])中,相邻的两个元素之间用逗号(,)分割。可以将整数、字符串、列表、元组等任何类型的内容放入列表中。在同一个列表中,元素可以重复,元素的类型可以不同,因为它们之间没有任何关系。
一、创建列表
1、通过赋值创建列表
语法格式格式如下:
listname = [element1, element2, element3, ... , elementn]
说明:
(1)listname:表示列表的名称
(2)element1, element2, element3, ... , elementn:表示列表中的元素
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2=["Zhengzhou","Xinxiang","Luoyang","Kaifeng","Anyang"]
list3=["20230214001","刘鹏","男","2003-12-3","团员"]
list4=["001","Python从入门到精通","清华大学出版社",58.2]
list5=["经济与管理学院","机电学院","计算机学院","软件学院","文法学院","艺术学院"]
print(list1)
print(list2)
print(list3)
print(list4)
print(list5)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 3, 5, 7, 11, 13, 17, 19, 23]
['Zhengzhou', 'Xinxiang', 'Luoyang', 'Kaifeng', 'Anyang']
['20230214001', '刘鹏', '男', '2003-12-3', '团员']
['001', 'Python从入门到精通', '清华大学出版社', 58.2]
['经济与管理学院', '机电学院', '计算机学院', '软件学院', '文法学院', '艺术学院']
2、使用 list() 函数创建列表
语法格式如下:
列表名 = list() # 创建空列表
列表名 = list(列表名) # 使用 list() 函数将列表传递至新列表
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2 = list() # 创建空列表
list3 = list1 # list1和list3指向同一个地址,如果修改一个列表的元素值,另一个列表也被修改
list4 = list(list1)
list5 = list1[:] # 将列表list1中的所有元素赋值给list5
print(list2)
del list1[2:6]
print(list3)
print(list4)
print(list5)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[]
[2, 3, 17, 19, 23]
[2, 3, 5, 7, 11, 13, 17, 19, 23]
[2, 3, 5, 7, 11, 13, 17, 19, 23]
3、使用 copy() 方法复制列表
语法格式如下:
listname = 列表名.copy() # 将列表数据复制给新列表
例如:
list1=[2,3,5,7,11,13,17,19,23]
list2 = list1.copy()
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 3, 5, 7, 11, 13, 17, 19, 23]
4、合并列表
语法格式如下:
listname = 列表1 + 列表2 # 将两个列表数据合并至新的列表
例如:
list1 = ["张三","李四","王五","赵六"]
list2 = ["Tom","Jerry","Kate","Rose"]
list3 = list1 + list2
print(list3)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['张三', '李四', '王五', '赵六', 'Tom', 'Jerry', 'Kate', 'Rose']
列表操作的常用方法如下表所示:
| 方法 | 描述 |
|---|---|
| append() | 在列表的末尾添加一个元素 |
| clear() | 删除列表中的所有元素 |
| copy() | 返回列表的副本 |
| count() | 返回具有指定值的元素数量 |
| len() | 返回列表的长度 |
| extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
| index() | 返回具有指定值的第一个元素的索引 |
| insert() | 在指定位置添加元素 |
| pop() | 删除指定位置的元素 |
| remove() | 删除具有指定值的项目 |
| reverse() | 颠倒列表的顺序 |
| sort() | 对列表进行排序 |
二、列表的基本操作
1、索引
语法格式如下:
listname[index]
说明:
(1)index:索引编号,第1项编号为0
(2)正向索引:从左向右,第一项的索引为0,第二项的索引为1,依次类推。
(3)逆向索引:从右向左,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。
例如:
list1 = ["张三","李四","王五","赵六"]
print(list1[0]) # 第1个元素
print(list1[1]) # 第2个元素
print(list1[-1]) # 最后1个元素运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
张三
李四
赵六
2、切片
语法格式如下:
listname[start_index: end_index: step]
说明:
(1)在中括号中以冒号分隔索引值。
(2)start_index:表示要截取的开始索引值。该参数可以省略,表示从第一个字符开始。
(3)end_index:表示要截取的结束索引值。该参数可以省略,表示截取到最后一个字符结束。
(4)step:表示切片步长,该参数可以省略,默认值为 1。
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
print(list1[:]) # 打印所有元素
print(list1[::2]) # 间隔打印所有元素
print(list1[1:]) # 打印第1个元素之后的元素
print(list1[:-1]) # 打印最后1个元素之前的元素
print(list1[::-1]) # 倒序输出运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
['郑州市', '洛阳市', '安阳市', '南阳市']
['新乡市', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
['郑州市', '新乡市', '洛阳市', '开封市', '安阳市', '漯河市']
['南阳市', '漯河市', '安阳市', '开封市', '洛阳市', '新乡市', '郑州市']
3、重复
语法格式如下:
listname * n
例如:
list1 = ["郑州市","新乡市","洛阳市"]
str1 = "Hello " # 字符串也可以看作是一个列表
str2 = "="
print(list1 * 3)
print(str1 * 3)
print(str2 * 30)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', '郑州市', '新乡市', '洛阳市', '郑州市', '新乡市', '洛阳市']
Hello Hello Hello
==============================
4、连接
语法格式如下:
列表1 + 列表2
例如:
list1 = ["郑州市","新乡市","洛阳市"]
list2 = ["Washington","NewYork","Boston"]
str1 = "Henan "
str2 = "Xinxiang,"
str3 = "Henan Institute of Science and Technology."
print(list1 + list2)
print(str1 + str2 + str3)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', '新乡市', '洛阳市', 'Washington', 'NewYork', 'Boston']
Henan Xinxiang,Henan Institute of Science and Technology.
5、判断一个元素是否存在
语法格式如下:
element in listname
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
print("郑州市" in list1)
print("信阳市" in list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
True
False
6、迭代(使用 for 循环遍历)
语法格式如下:
for i in listname:print(i) # 遍历输出每个元素
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
for i in list1:print(i)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
郑州市
新乡市
洛阳市
开封市
安阳市
漯河市
南阳市
7、列表的嵌套
例如:
list1 = [["郑州市","新乡市","洛阳市"],["张三","李四","王五"],[20,21,22,19]]
# 索引
print(list1[1]) # list1中的第2个元素(仍然是一个列表)
print(list1[1][1]) # list1中的第2个元素的第2个元素
# 切片
print(list1[:][1]) # list1中的第2个元素
print(list1[2][1:]) # list1中的第3个元素中的第2个元素之后的所有元素运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['张三', '李四', '王五']
李四
['张三', '李四', '王五']
[21, 22, 19]
三、列表的增、删、改
1、更改列表项
(1)通过索引号来更改指定列表元素
语法格式如下:
listname[index] = 值
例如:
list1 = ["郑州市","新乡市","洛阳市","开封市","安阳市","漯河市","南阳市"]
list1[1] = "Xinxiang City"
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
['郑州市', 'Xinxiang City', '洛阳市', '开封市', '安阳市', '漯河市', '南阳市']
(2)通过切片来更改列表元素
listname[索引范围] = 值
说明:
(1)用后面的值替换索引范围内的列表项(列表项的数量不一定相等)
(2)值的形式可以有如下几种:
listname[:3] = 2,4,8
listname[:3] = [2,4,8]
listname[:3] =(2,4,8)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1[1:4] = 11,22,33
print(list1)
list1[1:3] = [11,12,13] # 列表项的个数与切片的列表项个数不相等
print(list1)
list1[1:4] = (20,21,22,23,24,25)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 11, 22, 33, 10, 12, 14, 16, 18]
[2, 11, 12, 13, 33, 10, 12, 14, 16, 18]
[2, 20, 21, 22, 23, 24, 25, 33, 10, 12, 14, 16, 18]
2、增加列表项
(1)使用 append() 方法追加列表元素
使用 append() 方法默认是在列表的末尾增加元素,语法格式如下:
listname.append(值)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1.append(100)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 12, 14, 16, 18, 100]
(2)使用 insert() 方法追加列表元素
insert() 方法可以在列表的指定位置增加元素,增加后原位置及其后面的元素自动后移,语法格式如下:
listname.insert(index, 值)
例如:
list1 = [2,4,6,8,10,12,14,16,18]
list1.insert(3,100)
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 100, 8, 10, 12, 14, 16, 18]
(3)使用 extend() 方法追加列表元素
extend() 方法可以将另一个列表中的所有值,一次性添加在列表的末尾。语法格式如下:
listname.extend(序列)
例如:
list1 = [2,4,6,8,10]
list2 = [11,13,15]
list3 = ['a','b','c']
list1.extend(list2)
list2.extend(['a','b','c'])
print(list1)
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 11, 13, 15]
[11, 13, 15, 'a', 'b', 'c']
3、删除列表项
(1)使用 remove() 方法删除列表元素:根据元素值删除
remove() 方法用于删除指定的元素。当删除的目标值元素有多个时,每次执行只能删除一个元素,且删除的是索引位置最小的那个。语法格式如下:
listname.remove(元素)
例如:
list1 = [2,4,6,8,10,12,14,16,10]
list1.remove(6)
print(list1)
list1.remove(10) # 删除第1个元素值为10的元素
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 8, 10, 12, 14, 16, 10]
[2, 4, 8, 12, 14, 16, 10]
(2)使用 pop() 方法删除列表元素:根据索引删除
pop() 方法用于删除指定索引位置的元素。如果不指定参数,则删除末尾元素。语法格式如下:
listname.pop()
listname.pop(index)
例如:
list1 = [2,4,6,8,10,12,14,16]
list2 = [1,3,5,7,9,11,13]
list1.pop()
print(list1)
list1.pop()
print(list1)
list1.pop()
print(list1)
list2.pop(3)
print(list2)
list2.pop(3)
print(list2)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 8, 10, 12, 14]
[2, 4, 6, 8, 10, 12]
[2, 4, 6, 8, 10]
[1, 3, 5, 9, 11, 13]
[1, 3, 5, 11, 13]
(3)使用 del 关键字删除列表或指定的列表元素:根据索引或范围删除
语法格式如下:
del listname # 删除整个列表(从内存中删除)
del listname[index] # 删除指定索引位置的列表元素
del listname[索引范围] # 删除指定索引范围内的列表元素
例如:
A)删除整个列表:
list1 = [2,4,6,8,10,12,14,16]
del list1
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
Traceback (most recent call last):File "C:\Python\Python38\First.py", line 3, in <module>print(list1)
NameError: name 'list1' is not defined
B)删除指定索引位置的列表元素
list1 = [2,4,6,8,10,12,14,16]
del list1[3]
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6, 10, 12, 14, 16]
C)删除指定索引范围内的列表元素
list1 = [2,4,6,8,10,12,14,16]
del list1[3:]
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[2, 4, 6]
(4)使用 clear() 删除列表元素
clear() 方法可以清除列表中所有元素(清除后列表称为空列表)。语法格式如下:
listname.clear()
例如:
list1 = [2,4,6,8,10,12,14,16]
list1.clear()
print(list1)运行结果如下:
===================== RESTART: C:\Python\Python38\First.py =====================
[]
相关文章:
Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作
Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作 目录 Python 程序设计入门(006)—— 列表的操作(1):列表元素的增、删、改操作一、创…...
使用Python实现高效数据下采样:详解最大三角形三桶(LTTB)算法
引言 在我们接触大规模的数据集时,数据的数量往往会让人望而却步。数据分析、机器学习等领域的专业人员需要对这些数据进行处理,以便更好地理解数据,以及利用数据进行预测。然而,处理大规模数据的计算成本往往非常高,这时候,就需要引入下采样(Downsampling)的技术了。…...
无涯教程-Perl - for 语句函数
for 循环是一种重复控制结构,可让您有效地编写需要执行特定次数的循环。 for - 语法 for ( init; condition; increment ) {statement(s); } for - 流程图 for - 例 #!/usr/local/bin/perl# for loop execution for( $a10; $a < 20; $a$a 1 ) {print "…...
企业网盘解析:高效的企业文件共享工具
伴随着信息技术的发展,越来越多的企业选择了基于云存储的企业网盘来进行企业数据存储。那么企业网盘是什么意思呢? 企业网盘是什么意思? 企业网盘,又称企业云盘,顾名思义是为企业提供的网盘服务。除了服务对象不同外&…...
前端实习day20
今天解决了不少bug,成就感满满,有几个问题困扰了我很久,我查阅了很多博客,终于找到解决思路,顺利解决,这里记录一下解决思路。 1、在通过this.$refs.layoutSide.style设置<a-layout-sider>的宽度时&…...
# 关于Linux下的parted分区工具显示起始点为1049kB的问题解释
关于Linux下的parted分区工具显示起始点为1049kB的问题解释 文章目录 关于Linux下的parted分区工具显示起始点为1049kB的问题解释1 问题展示:2 原因3 修改为KiB方式显示4 最后 1 问题展示: kevinTM1701-b38cbc23:~$ sudo parted /dev/nvme1n1 GNU Part…...
前端页面--视觉差效果
代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><link rel"stylesheet" href"https://un…...
使用idea如何生成webservice客户端
需求阐述 在和外围系统对接的时候,对方只给了wsdl地址,记得之前了解到的webservice,可以用idea生成客户端代码。先记录生成的步骤 使用idea如何生成webservice客户端 1.创建一个Java项目 2.第二步生成代码 我的idea再右键要生成文件目录里…...
QT属性系统
1 介绍 Qt中的属性系统是用于为对象添加自定义属性并管理这些属性的一种机制。它允许开发者在不修改类定义的情况下,动态地为Qt对象添加新的属性,并且能够对这些属性进行读取、设置和监听。 属性系统在Qt中是通过Q_PROPERTY宏和QObject的元对象系统来实现…...
CentOS 7虚拟机 虚拟机安装安装增强VBox_GAs_6.1.22失败:modprobe vboxguest failed
我安装的CentOS 在安装增强工具的时候报错: 查阅资料后 ,解决方法: 1、更新kernel内核版本: yum update kernel -y //安装kernel-devel和gcc编译工具链yum install -y kernel-devel gcc//更新kernel和kernel-devel到最新版本yum -y upgrade …...
【基础类】—DOM事件系统性学习
一、基本概念:DOM事件的级别 // DOM0 element.onclickfunction(){} // DOM2, 新增了冒泡和捕获 element.addEventListener(click,function(){}, false) // DOM3, 新增更多事件类型 鼠标、键盘等 element.addEventListener(keyup,function(){}, false)二、DOM事件模…...
【控制项目风险经验之谈】
项目风险是指在项目执行期间可能会影响项目目标、进度、成本或质量的不确定因素。在项目管理中,项目风险是不可避免的,因此需要采取措施来控制和管理项目风险。本篇文章将详细介绍如何控制项目风险的经验之谈。 一、确定风险管理计划 在项目启动阶段&a…...
SpringBoot复习:(10)SpringApplication中的initializer成员变量是怎么初始化的?
initializers成员变量定义如下: 在构造方法里通过setInitializers setInitializers的代码很简单: 其中的参数通过getSpringFactoriesInstances来获取的,该方法的代码如下: 其中调用的重载的方法代码如下: 它调用…...
Java三大特征之继承【超详细】
文章目录 一、继承概念二、继承的语法三、父类成员访问3.1子类中访问父类的成员变量3.2子类和父类成员变量同名3.3子类中访问父类的成员方法 四、super关键字五、子类构造方法六、super和this七、再谈初始化八、protected 关键字九、继承方式十、final 关键字十一、继承与组合 …...
python: lidar点云转BEV投影及pillar/voxel
点云BEV投影及pillar体素化 bev投影pillar/voxel bev投影 点云bev投影代码 pillar/voxel #!/usr/bin/env python # -*- encoding: utf-8 -*-import os import numpy as np import mathn_max_points_per_pillar 32 n_max_pillars 20736 # 144*144 20736 n_in_features 7…...
我的创作纪念日2023.8.5
机缘 在CSDN的创作开始于去年,创作的初衷是希望对自己的学习经历进行记录,同时也把自己的经验和收获传递给更多需要的小伙伴。创作博客的过程是一个将输入的知识进行再生产的过程,在此期间,知识获得了沉淀和提纯,思路…...
课程作业-基于Python实现的迷宫搜索游戏附源码
简单介绍一下 该项目不过是一个平平无奇的小作业,基于python3.8开发,目前提供两种迷宫生成算法与三种迷宫求解算法,希望对大家的学习有所帮助。 项目如果有后续的跟进将会声明,目前就这样吧~ 效果图如下所示: 环境…...
差值结构的相互作用能
( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由6张二值化的图片组成,让A,B中各有3个点,且不重合,统计迭代次数并排序。 其中有10组数据 差值结构 A-B 迭代次数 构造平均列 平均列…...
UI、UE、UX的区别
UI、UE、UX的区别 大部分程序员可能对UI、UE、UX这几个概念不是很熟悉,但在整个项目周期里,这些岗位还是很重要的,特别是对于产品公司,这些岗位对于一个产品是否能成功起着关键的作用。老规矩,我们先看看这三个缩写的定义。 UI:是User Interface英文的缩写,即用户界面的…...
RabbitMQ 教程 | 第10章 网络分区
👨🏻💻 热爱摄影的程序员 👨🏻🎨 喜欢编码的设计师 🧕🏻 擅长设计的剪辑师 🧑🏻🏫 一位高冷无情的编码爱好者 大家好,我是 DevO…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)
参考官方文档:https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java(供 Kotlin 使用) 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...
什么是Ansible Jinja2
理解 Ansible Jinja2 模板 Ansible 是一款功能强大的开源自动化工具,可让您无缝地管理和配置系统。Ansible 的一大亮点是它使用 Jinja2 模板,允许您根据变量数据动态生成文件、配置设置和脚本。本文将向您介绍 Ansible 中的 Jinja2 模板,并通…...
基于Springboot+Vue的办公管理系统
角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…...
STM32标准库-ADC数模转换器
文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”:输入模块(GPIO、温度、V_REFINT)1.4.2 信号 “调度站”:多路开关1.4.3 信号 “加工厂”:ADC 转换器(规则组 注入…...
命令行关闭Windows防火墙
命令行关闭Windows防火墙 引言一、防火墙:被低估的"智能安检员"二、优先尝试!90%问题无需关闭防火墙方案1:程序白名单(解决软件误拦截)方案2:开放特定端口(解决网游/开发端口不通)三、命令行极速关闭方案方法一:PowerShell(推荐Win10/11)方法二:CMD命令…...
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章
用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章 摘要: 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言,受限于 C 语言本身的内存安全和并发安全问题,开发复杂模块极易引入难以…...
