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…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
Xcode 16 集成 cocoapods 报错
基于 Xcode 16 新建工程项目,集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...
深入解析光敏传感技术:嵌入式仿真平台如何重塑电子工程教学
一、光敏传感技术的物理本质与系统级实现挑战 光敏电阻作为经典的光电传感器件,其工作原理根植于半导体材料的光电导效应。当入射光子能量超过材料带隙宽度时,价带电子受激发跃迁至导带,形成电子-空穴对,导致材料电导率显著提升。…...
