python 编程开发 —— 列表(list)介绍

  • Post author:
  • Post category:python


文档声明:

以下资料均属于本人在学习过程中产出的学习笔记,如果错误或者遗漏之处,请多多指正。并且该文档在后期会随着学习的深入不断补充完善。感谢各位的参考查看。


笔记资料仅供学习交流使用,转载请标明出处,谢谢配合。

如果存在相关知识点的遗漏,可以在评论区留言,看到后将在第一时间更新。

作者:Aliven888



1、列表(list)定义

在 python 中定义一个列表只需要使用 中括号”[]” 和 逗号”,” 即可。



格式

# 一个列表中可以包含任何类型的数据,也可以是一个列表
num = [1, '1', [2, '2'], 3, 3.1415926, 'Aliven']  

# 表示是一个空表
empty = []  

python 中的列表(list)包含以下函数:

序号 函数
len(list) 列表元素个数
max(list) 返回列表元素最大值
min(list) 返回列表元素最小值
list(seq) 将元组转换为列表
list.append(obj) 在列表末尾添加新的对象
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.insert(index, obj) 将对象插入列表
list.pop([index=-1]) 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反向列表中元素
list.sort( key=None, reverse=False) 对原列表进行排序
list.clear() 清空列表
list.copy() 复制列表



演示实例:

# 定义一个列表
>>> num = [1, '1', [2, '2'], 3, 3.1415926, 'Aliven'] 

# 打印列表的长度(元素个数)
>>> len(num) 
6

# 在末尾插入一个新的元素
>>> num.append('666') 
>>> num
[1, '1', [2, '2'], 3, 3.1415926, 'Aliven', '666']

# 翻转列表
>>> num.reverse() 
>>> num
['666', 'Aliven', 3.1415926, 3, [2, '2'], '1', 1]

# 删除其中的一个元素 - 按数值删除
>>> num.remove('Aliven') 
>>> num
['666', 3.1415926, 3, [2, '2'], '1', 1]

# 删除其中的一个元素 - 按索引删除
>>> del num[4] 
>>> num
['666', 3.1415926, 3, [2, '2'], 1]

# 获取某个索引下的值
>>> num[2] 
3

# 弹出末尾的元素
>>> num.pop() 
1
>>> num
['666', 3.1415926, 3, [2, '2']]

# 获取某个索引下的值
>>> num.index(2) 
3



2、列表分片

在列表中我们通过索引值获取列表中的某个元素值,但是这样并不能满足一些复杂的场景:一次性获取多个元素的值。这时 python 就引入了列表分片(slice)功能,可以很方便的实现这个需求。



格式

# 使用冒号 ":" 

# 截取索引从 from 开始 到 end 的元素,其中不包含 end 位置的元素。
list[from:end] 

# 分片的高级操作
# step 表示步长,步长为 -1 表示反转列表
list[from:end:step] 



演示实例:

>>> num
['666', 3.1415926, 3, [2, '2']]

# 获取索引从 0 到 2 的元素
>>> num[0:2] 
['666', 3.1415926]

# 获取索引从 2 到 3 的元素
>>> num[2:3]  
[3]

# 步长设置为 2
>>> num[0:4:2] 
['666', 3]
>>> 



3、列表的升级玩法

这里我们直接以举例的形式进行介绍。



演示实例:

>>> list1 = [1,2,3]
>>> list2 = [4,5,6]

# 列表相加
>>> list3 = list1 + list2 
>>> list3
[1, 2, 3, 4, 5, 6]

# 列表比较
>>> list2 > list1 
True

# 循环打印
>>> list4 = ['Aliven']
>>> list4 * 3 
['Aliven', 'Aliven', 'Aliven']

# 列表拷贝赋值
>>> list5 = list1
>>> list5
[1, 2, 3]

#in 和 not in 的用法,判断元素是否存在
>>> 3 in list2
False
>>> 3 not in list3
False
>>> 3 not in list2
True



4、二维列表

前面我们了解了一维列表,可以帮助我们存储线性数据,

而二维列表是有若干个一维列表组成的,可以很好的帮助我们存储表格式的数据。



格式

# 定义
listA = [[1,2,3],['a', 'b', 'c'], [3.14, 3.15, 3.16]]

# 元素访问
A = listA[0][1]  # 通过下标获取元素值 
 



5、性能优化:

  • 列表进行元素的插入和删除操作,尽量在列表的尾部。这样处理速度会更快。



版权声明:本文为Aliven888原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。