中国做的电脑系统下载网站,公司域名注册流程,网站开发与实训报告,长春建设工程信息网1、前言 Python中的列表#xff08;list#xff09;是一种可变的序列类型#xff0c;用于存储集合数据。列表用途非常广泛#xff0c;包括但不限于以下几个方面#xff1a; 存储集合数据#xff1a;列表用于存储一系列有序的元素#xff0c;这些元素可以是任何数据类型list是一种可变的序列类型用于存储集合数据。列表用途非常广泛包括但不限于以下几个方面 存储集合数据列表用于存储一系列有序的元素这些元素可以是任何数据类型包括数字、字符串、其他列表、元组、字典等。 迭代数据列表支持迭代这意味着你可以使用循环如for循环来遍历列表中的每个元素。 增删改查操作 增加元素可以使用append()、insert()或extend()方法向列表中添加元素。删除元素可以使用remove()、pop()或del语句从列表中删除元素。修改元素可以通过索引直接修改列表中的元素。查找元素可以使用index()方法查找元素的索引位置或者使用in关键字检查元素是否存在于列表中。
2、列表结构在点云数据组织中用法 在C中结合vector与结构体struct{}实现点云数据组织过程较为复杂。而python可以分方便根据点云数据进行存储。
2.1 增加元素 点云一般包括坐标信息x、y、z将所有点放入到列表中定义列表my_list利用append()函数将点放入列表中代码如下
my_list[]
my_list.append((1,1,1))
my_list.append((2,2,2))
my_list.append((3,3,3))
my_list.append((4,4,4))2.2 指定位置数据访问 要访问列表中指定位置数据要使用索引其中Python中的索引是从0开始的这意味着第一个元素的索引是0第二个元素的索引是1依此类推。如下所示定义列表my_list其存储了4个点其中访问了第1个元素与第3个元素利用[0]、[2]来访问。
my_list[]
my_list.append((1,1,1))
my_list.append((2,2,2))
my_list.append((3,3,3))
my_list.append((4,4,4))#单独访问特定位置的元素
#访问第一个元素
first_elementmy_list[0]
xfirst_element[0]
yfirst_element[1]
zfirst_element[2]
print(x,y,z)#访问第3个元素
third_elementmy_list[2]
xthird_element[0]
ythird_element[1]
zthird_element[2]
print(x,y,z)
2.3 for循环遍历访问 for循环可用于访问列表中所有数据此次列出3种for循环访问方式适用于不同使用场景如下第一种直接对每个元素进行访问第二种和第三种根据索引进行访问元素其中range()根据索引来访问元素。
my_list[]
my_list.append((1,1,1))
my_list.append((2,2,2))
my_list.append((3,3,3))
my_list.append((4,4,4))#第一种for循环方式
for element in my_list:xelement[0]yelement[1]zelement[2]print(x,y,z)#第二种for循环方式
for i in range(len(my_list)):elementmy_list[i]xelement[0]yelement[1]zelement[2]print(x,y,z)#第三种for循环方式
for i in range(4):elementmy_list[i]xelement[0]yelement[1]zelement[2]print(x,y,z)2.4 元素值修改 对于指定索引位置处的列表中元素进行修改也是一种常见操作。若对索引为2对应的列表处值进行修改则需要将值转换成列表再进行修改如下所示可以发现索引2对应的元素值变为5 5 5。
my_list[]
my_list.append((1,1,1))
my_list.append((2,2,2))
my_list.append((3,3,3))
my_list.append((4,4,4))elementlist(my_list[2])#将元组转换为列表
element[0]5
element[1]5
element[2]5
#将列表转换回元组
my_list[2]tuple(element)for i in range(len(my_list)):elementmy_list[i]xelement[0]yelement[1]zelement[2]print(x,y,z) 2.5 列表元素删除 有时候为便于方便需要对列表中某个索引位置处的元素进行删除其余索引位置处元素保留则使用pop()函数。运行结果如下将索引3对应的元素进行剔除其中索引为3对应的元素为3 3 3使用pop()函数删除后只剩下 1 2 4因此打印出来结果为1、2、4。但是如果为了保证被复制的列表中元素也不被删除那么一定要用创建副本形式。 如下是创建副本形式删除索引为3的元素结果如下被复制的my_list中元素未被删除但是副本my_second中元素被删除
my_list []
my_list.append((1, 1, 1))
my_list.append((2, 2, 2))
my_list.append((3, 3, 3))
my_list.append((4, 4, 4))my_secondmy_list.copy()
index_remove2
my_second.pop(index_remove)print(my_second元素值)
for element in my_second:print(element)print(my_list元素值)
for element in my_list:print(element) 但如果直接采用引用形式即“my_secondmy_list”那么这两个变量指向同一个引用那么删除时这两个列表均会被删除运行结果如下3 3 3均被删除。
my_list []
my_list.append((1, 1, 1))
my_list.append((2, 2, 2))
my_list.append((3, 3, 3))
my_list.append((4, 4, 4))my_secondmy_list
index_remove2
my_second.pop(index_remove)print(my_second元素值)
for element in my_second:print(element)print(my_list元素值)
for element in my_list:print(element)3、总结 列表用于存储点云数据非常方便介绍了列表元素访问、删除操作。本博客结合点云数据处理中常见点云处理操作如删除、修改、遍历举例说明列表用法。