列表的切片与它的好兄弟
本次分享的内容思维导图如下:
主要内容
<如果需要详细的思维导入内容,请回复 py01 即可获得>
创建数值列表
range()函数
使用range()可以生成一系列的数字。
- 注意生成的数字是前闭后开(1,5):1,2,3,4
- 不包含最后一个数字
- range(1,11,2): 1 开始的数据,11 截至数据,2 步长
创建数字列表
可以使用list()来创建数字列表
简单的统计数字列表函数
- min
- max
- sum
for value in range(1,5):
print(value)
numbers = list(range(1,6))
print(numbers)
numbers = list(range(2,11,2))
print(numbers)
# 生成一个平方数据
squares = []
for value in range(1,11):
square = value**2
squares.append(square)
print(squares)
# 简单的统计数字列表函数
print(min(squares))
print(max(squares))
print(sum(squares))
# 列表推导
squares = [value ** 2 for value in range(1,11)]
print(squares)
1
2
3
4
[1, 2, 3, 4, 5]
[2, 4, 6, 8, 10]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
1
100
385
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
列表切片
常见的切片方式
列表切片是访问列表又一种方式,只不过这次我们可以获得列表的子集,是列表的一个片段。
常用的方法:
- 顺序获取
- 倒序获取
- 间隔获取
waliAIs = ['python基础','python进阶','机器学习','深度学习']
# 获得0,1,2个元素
print(waliAIs[0:3])
# 获得从开始到第3个个元素
print(waliAIs[:4])
# 获得从第1个到末尾元素
print(waliAIs[1:])
# 获得末尾元素
print(waliAIs[-1])
# 获得从第倒数第3个到末尾元素:最后3个元素
print(waliAIs[-3:])
# 获得从开始到倒数第3个元素:除掉最后3个元素
print(waliAIs[:-3])
for wali in waliAIs[:3]:
print(wali)
['python基础', 'python进阶', '机器学习']
['python基础', 'python进阶', '机器学习', '深度学习']
['python进阶', '机器学习', '深度学习']
深度学习
['python进阶', '机器学习', '深度学习']
['python基础']
python基础
python进阶
机器学习
列表的复制
列表不能像数值一样直接通过赋值号来复制,这样说明两个列表变量同时都指向同一个列表。
- 有一个变量改变了列表的值,其他的变量也跟着一起改变。
要想独立复制一个完整的列表,则需要使用:
- xxx [:] 省略起始索引和终止索引
waliAIs = ['python基础','python进阶','机器学习','深度学习']
evaAIs = waliAIs
print(waliAIs)
print(evaAIs)
waliAIs.append("算法学习")
# 一个数据改变了,两个同时跟着一起改变
print(waliAIs)
print(evaAIs)
evaAIs.append("C++学习")
# 一个数据改变了,两个同时跟着一起改变
print(waliAIs)
print(evaAIs)
['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习', 'C++学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习', 'C++学习']
waliAIs = ['python基础','python进阶','机器学习','深度学习']
evaAIs = waliAIs[:]
print(waliAIs)
print(evaAIs)
waliAIs.append("算法学习")
# 一个数据改变了,另一个不会发生改变
print(waliAIs)
print(evaAIs)
evaAIs.append("C++学习")
# 一个数据改变了,另一个不会发生改变
print(waliAIs)
print(evaAIs)
['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习']
['python基础', 'python进阶', '机器学习', '深度学习']
['python基础', 'python进阶', '机器学习', '深度学习', '算法学习']
['python基础', 'python进阶', '机器学习', '深度学习', 'C++学习']
元组-tuple
不可变的列表叫元组,不能增加和删除或者修改元组里面的元素。
一旦初始化就不能修改。
定一个元组,用圆括号。可以使用列表中切片的方法。
元组的意义:
因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
waliAIs = ('python基础','python进阶','机器学习','深度学习')
print(waliAIs)
print(waliAIs[0])
print(waliAIs[:3])
('python基础', 'python进阶', '机器学习', '深度学习')
python基础
('python基础', 'python进阶', '机器学习')