3.5.2 列表 list 关键字 存储数据,数据量比较大
有序 可变 支持很多数据类型 用逗号分割的是一个元素
id() 获取对象的内存地址
lst=[1,2,3] #存放的元素的内存地址
print(lst)
3.5.2.1 索引
lst = ['刘德华','周润发','周杰伦','向华强']
print(lst[1])
输出结果:周润发
注意:列表是可以进行修改的,这里和字符串不一样,字符串是不可变数据类型
lst = ['刘德华','周润发','周杰伦','向华强']
lst[3] = '王健林'
print(lst)
输出结果:['刘德华', '周润发', '周杰伦', '王健林']
3.5.2 .2切片
lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"]
print(lst[0:3])
输出结果:['麻花藤', '王剑林', '马芸']
lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"]
print(lst[-3:-1])
输出结果:['马芸', '周鸿医']
3.5.2.3 步长
lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"]
print(lst[0::2])
输出结果:['麻花藤', '马芸', '向华强']
lst = ["麻花藤", "王剑林", "马芸", "周鸿医", "向华强"]
print(lst[-1:-5:-2])
输出结果:['向华强', '马芸']
3.5.2.4 增
- 追加 在末尾的位置加一个
lst=['仓井','小泽','武藤','波多','小吉']
lst.append('加藤')
print(lst)
- 插入 尽量不要使用 当数据量比较大的时候会影响效率
lst=['仓井','小泽','武藤','波多','小吉']
lst.insert(2,'加藤') #第一个是要插入位置的下标,第二个是要插入的内容
print(lst)
- 迭代添加
lst=['仓井','小泽','武藤','波多','小吉']
lst.extend('加藤') #()里放可迭代内容
print(lst)
输出结果:['仓井', '小泽', '武藤', '波多', '小吉', '加', '藤']
- 列表合并
lst1=['仓井','小泽','武藤','波多','小吉']
lst2=['加藤']
lst3=lst1+lst2 #开辟了一块新空间
print(lst3)
3.5.2.5 删
- 配合下标删除
lst=['仓井','小泽','武藤','波多','小吉']
del lst[1]
print(lst)
- 配合切片删除
lst=['仓井','小泽','武藤','波多','小吉']
del lst[0:2]
print(lst)
- 配合步长删除
lst=['仓井','小泽','武藤','波多','小吉']
del lst[0:3:2]
print(lst)
- 通过元素名删除
lst=['仓井','小泽','武藤','小泽','波多','小吉']
lst.remove('小泽') #只删除第一个
print(lst)
- 可以指定下标删除
lst=['仓井','小泽','武藤','波多','小吉']
lst.pop(1) #没有指定,默认删除最后一个
print(lst)
pop 有返回值 返回被删除的值
lst=['仓井','小泽','武藤','波多','小吉']
ret=lst.pop(1)
print(lst)
print(ret)
输出结果:
['仓井', '武藤', '波多', '小吉']
小泽
- 清空列表
lst=['仓井','小泽','武藤','波多','小吉']
lst.clear()
print(lst)
3.5.2.6 改
- 通过下标改
lst=['仓井','小泽','武藤','波多','小吉']
lst[1]='麻生希'
print(lst)
- 通过切片修改
lst=['仓井','小泽','武藤','波多','小吉']
lst[0:2]='麻生希'
print(lst)
输出结果:['麻', '生', '希', '武藤', '波多', '小吉']
lst[0:2] = 1 不行 lst[0:2] = 1,2,3 行
-
通过步长修改
步长不为1的插入的元素和插入的位置必须一一对应,不能多也不能少
lst[0:3:2] = 1,2
3.5.2.7 查
- for 循环
lst=['仓井','小泽','武藤','波多','小吉']
for i in lst:
print(i)
- 通过下标查
lst=['仓井','小泽','武藤','波多','小吉']
print(lst[0])
3.5.2.8 列表的操作
- 通过内容查找下标
lst=['仓井','小泽','武藤','波多','小吉']
print(lst.index('小泽'))
- 计数
lst=['仓井','小泽','武藤','波多','小吉']
print(lst.count('小泽'))
- 复制
lst=['仓井','小泽','武藤','波多','小吉']
print(lst.copy())
- 翻转
lst=['仓井','小泽','武藤','波多','小吉']
lst.reverse()
print(lst) #变化的内容在原数据查看
- 排序
lst=['仓井','小泽','武藤','波多','小吉']
lst.sort() #默认按照ASCII码升序
print(lst)
lst=['仓井','小泽','武藤','波多','小吉']
lst.sort(reverse=True) #按照ASCII码降序
print(lst)
3.5.2.9 嵌套
lst=['北京','上海','sz',['河北','重庆',['保定',['定兴']]]]
print(lst[-1][-1][0])
lst[-1][1]='湖北'
print(lst)
lst[-2]=lst[-2].upper() #lst[-2]='深圳'
print(lst)
lst[-1][0]=lst[-1][0].replace('北','南')
print(lst)