目录
python从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129328397?spm=1001.2014.3001.5502
前面的定义列表
list01 = [1, 2, 3, 4, 5]
list02 = [101, 'mary', 20, 2345.67, True]
list03 = list()
list04 = [
[101, 'toms', 90.5],
[102, '张三', 100],
[103, 'lucy', 60]
]
❤ 使用列表
1. 通过列表名使用
list02 = [101, 'mary', 20, 2345.67, True]
list03 = list()
list04 = [
[101, 'toms', 90.5],
[102, '张三', 100],
[103, 'lucy', 60]
]
print(list02)
print(list04)
输出:
[101, 'mary', 20, 2345.67, True]
[[101, 'toms', 90.5], [102, '张三', 100], [103, 'lucy', 60]]
2. 索引+切片使用
切片适用于列表、元组、字符串、range对象等类型,但作用于列表时功能最强大。可以使用切片来截取列表中的任何部分,得到一个新列表,也可以通过切片来修改和删除列表中部分元素,甚至可以通过切片操作为列表对象增加元素。
切片使用2个冒号分隔的3个数字来完成:
第一个数字表示切片开始位置(默认为0)。
第二个数字表示切片截止(但不包含)位置(默认为列表长度)。
第三个数字表示切片的步长(默认为1),当步长省略时可以顺便省略最后一个冒号。
切片操作不会因为下标越界而抛出异常,而是简单地在列表尾部截断或者返回一个空列表,代码具有更强的健壮性。
返回包含所有元素的新列表
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[::]
[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
逆序的所有元素
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[::-1]
[17, 15, 13, 11, 9, 7, 6, 5, 4, 3]
偶数、奇数位置,隔一个取一个
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[::2]
[3, 5, 7, 11, 15]
>>> aList[1::2]
[4, 6, 9, 13, 17]
从下标3开始的所有元素
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[3::]
[6, 7, 9, 11, 13, 15, 17]
下标在[3, 6)之间的所有元素
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[3:6]
[6, 7, 9]
前100个元素,自动截断
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[0:100:1]
[3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
下标100之后的所有元素,自动截断
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[100:]
[]
直接使用下标访问会发生越界
aList = [3, 4, 5, 6, 7, 9, 11, 13, 15, 17]
>>> aList[100]
IndexError: list index out of range
可以使用切片来原地修改列表内容:
在尾部追加元素
>>> aList = [3, 5, 7]
>>> aList[len(aList):] = [9]
>>> aList
[3, 5, 7, 9]
替换前3个元素
>>> aList[:3] = [1, 2, 3]
>>> aList
[1, 2, 3, 9]
列表套列表
list02 = [101, 'mary', 20, 2345.67, True]
list03 = list()
list04 = [
[101, 'toms', 90.5],
[102, '张三', 100],
[103, 'lucy', 60]
]
print(list02[1])
print(list04[1])
print(list04[1][1])
print(list02[1:4])
输出:
mary
[102, '张三', 100]
张三
['mary', 20, 2345.67]
❤ 解包
cases = [
['login_01', 'root', '123456', True],
['login_02', 'admin', '123456', False],
['login_03', ' ', '123456', False]
]
case_01, case_02, case_03 = cases
print(case_01)
输出:
['login_01', 'root', '123456', True]
❤ 运算
1. +运算
list07 = [100, 200, 300]
list08 = ['A', 'B', 'C']
res1 = list07 + list08
print(res1)
输出:
[100, 200, 300, 'A', 'B', 'C']
2. *运算
list07 = [100, 200, 300]
list08 = ['A', 'B', 'C']
res2 = list08 * 2
print(res2)
输出:
['A', 'B', 'C', 'A', 'B', 'C']