一、基础数据类型 列表(list)
1.初识列表
why:
字符串的缺点:
1,只能存储少量的数据。
2,s = '1True[1,2,3]' 无论索引,切片 获取的都是字符串类型,单一,转化成它原来的类型还需要再一步转换。
int(s[0])
what: python基础数据类型之一:list列表。
列表是以中括号组成,每个元素以逗号隔开的,容器型数据类型。
[1, '太白', [1,2,3],True, {'name': 'alex'}, (22,33)]
其它语言:js语言中叫数组。
列表是一个有序的可以存储大量的数据的数据类型。
how:
两个方面:1 列表的切片
2 列表的常用操作
where:
程序中如果需要你构建一个容器型数据并且是按照顺序存储的大量的数据,你要用到列表。
2.列表的索引和切片
(1)索引
例: l1 = ['太白', 100, 'alex', '日天', '武大', '吴老师', '景女神']
l1 = ['太白', 100, 'alex', '日天', '武大', '吴老师', '景女神'] ret = l1[0] ret1 = l1[1] print(ret1,type(ret1)) print(l1[-1]) print(l1[-2])
(2)切片 顾头不顾腚
print(l1[:4]) print(l1[:5:2]) 倒序取值 print(l1[-1:-4:-1])
3. 列表的常用操作
例: l1 = ['alex', '太白', '吴老师', '景女神', '武大']
增
(1)append 追加
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1.append('alex') print(l1) l1.append(100) print(l1) l1.append([1, 2, 3]) print(l1)
(2)insert 插入
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1.insert(1,'小潘') #前面1 代表位置,在索引为1 的位置
(3)extend 迭代着追加
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1.extend('alex') l1.extend(['肖锋', 666])
删
(1)pop 按照索引删除,会将删除的元素作为返回值返回
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] ret = l1.pop(0) print(ret) #被删除内容可以输出 print(l1)
(2)remove 按照元素删除
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] ret = l1.remove('武大') print(ret)
(3)clear 清空列表
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1.clear() print(l1)
(4)del 1,按照索引删除
2,按照切片(可以加步长)删除
3,删除整个列表
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] del l1[-2] print(l1) del l1[1:] print(l1) del l1[::2] print(l1)
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] del l1 print(l1) # 输出结果:(报错)原因: NameError: name 'l1' is not defined
改
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1[0] = '男神' print(l1)
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1[:3] = 'abc' print(l1) l1[:3] = 'abcdefghigk' print(l1)
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1[1:4:2] = 'a2' print(l1) #切片切除两个元素,必须有两个元素来替换
l1 = ['alex', '太白', '吴老师', '景女神', '武大'] l1[1:4:2] = 'a' print(l1) l1[1:4:2] = [1,2,3] print(l1) #都会报错
查
按照索引,按照切片(步长查询)