【课程3.3】 列表list常用操作
序列是Python中最基本的数据结构,它支持字符,数字,字符串甚至可以包含列表(即嵌套)
列表用 [ ] 标识,是 python 最通用的复合数据类型。
列表中值的切片也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。
加号 + 是列表连接运算符,星号 * 是重复操作
1.列表的特征
**代码块**
lst1 = [1,2,3,'a','b','c',[1,2,3]]
# 可包含任意类型的对象:数值、字符串、列表等
lst2 = [143,56,894,67,43]
print(lst2[0],lst2[4],lst2[-1])
# 通过下标索引访问序列中的值 → 序列的顺序是不能改变的,通过索引来定位列表的元素
lst3 = [1,2,3]
lst3 = lst3 * 3
print(lst3)
# 可随意变换列表长度,相当于随意指定新的列表
**运行结果**
lst4 = [1,2,['a','b']]
# 可嵌套
lst5 = [100,101,102]
lst5[0] = 10
print(lst5)
# 可原位改变
**运行结果**
143 43 43
[1, 2, 3, 1, 2, 3, 1, 2, 3]
[10, 101, 102]
小作业
① [1,2,3]和[“1”, “2”, “3”]什么区别
② 创建一个列表,包括3个人的数学成绩100,89,78
③ 创建一个列表,包括5个中国城市名称
④ 现有一个列表name = [‘小明’, ‘小红’] ,增加“团支书”的名字上去
⑤ 现有一个列表m=[3.1,5.5,4,3,77,8],用print分别输出第2、4个元素
2.列表与生成器
**代码块**
print(range(5),type(range(5)))
# range()是生成器,指向了一个范围内的整数
# range(5)代表指向了0,1,2,3,4这几个值
# range(2,5)代表指向了2,3,4这几个值,注意这里不是使用:
# range(0,10,2)代表指向了0,2,4,6,8这几个值,最后的2代表步长
lst = list(range(5))
print(lst)
# 通过list()函数生成列表
**运行结果**
range(0, 5) <class 'range'>
[0, 1, 2, 3, 4]
小作业
① range()生成的是不是都是整数?
② 创建一个range,用type()函数查看其类型
③ 哪种方式书写正确:x=range(5), x=range(4:7), x=range(4,8)
④ 创建一个range,用print输出其值,看一下输出结果
⑤ 用list()函数,将一个range范围变为列表
⑥ m=range(10),请问m[2],m[-1],m[5]是多