1.什么是列表
能装东西的东西
列表里面装的数据是没有限制的
列表使用[]来表示
列表也有索引 从0开始
列表也有切片
切片切出来的还是列表
切片参照字符串
2.增删改查(任何业务的本质都是增删改查)
1.增加元素
列表和str不一样:list可以发生改变,
所以可以直接在原来的对象上进行操作
1.增加 append/insert/extend
lst = ["张无忌","金毛狮王"]
lst.append("周芷若") #效率比较高
lst.insert(2,"马德华") #插入
lst.extend("刘能") #迭代添加 一个一个添加
lst.extend(["刘能","赵四","广坤"])
需要指定插入的位置
1 # coding:utf-8 2 # 增加 append/insert/extend 3 lst = ["西游记", "红楼梦"] 4 print(lst) 5 lst.insert(1, "test") 6 # insert(index,content) 7 print(lst) 8 lst.extend("年后") 9 # 字符串迭代进去 一个一个添加 10 print(lst) 11 # 列表迭代进去 一个一个添加 12 lst.extend(["年后"]) 13 print(lst) 14 lst.append("三国演义") 15 print(lst) 16 """ 17 ['西游记', '红楼梦'] 18 ['西游记', 'test', '红楼梦'] 19 ['西游记', 'test', '红楼梦', '年', '后'] 20 ['西游记', 'test', '红楼梦', '年', '后', '年后'] 21 ['西游记', 'test', '红楼梦', '年', '后', '年后', '三国演义'] 22 """
2.删除 pop/remove/clear/del
pop: #默认弹出最后一个 弹出去之后有一个返回值 还可以指定索引
s1 = lst.pop()
lst.remove("周芷若") #指定元素
clear清空全部
lst.clear
可以切片删除
del lst[2]
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
1 # 删除 remove/del/pop/clear 2 lst = ["西游记", "红楼梦", "三国演义", "水浒传", "test"] 3 lst.pop() # 这个还可以添加索引,默认弹出最后一个 4 # 弹出的元素还可以被接住 5 print(lst) 6 lst.remove("红楼梦") # 移除元素 7 print(lst) 8 del lst[1] # 这个是删除索引 9 print(lst) 10 lst.clear() # 清空全部 11 print(lst) 12 # 还可以切片删除 13 14 """ 15 ['西游记', '红楼梦', '三国演义', '水浒传'] 16 ['西游记', '三国演义', '水浒传'] 17 ['西游记', '水浒传'] 18 [] 19 """
3.修改
用索引修改
lst[2] = "西西里的美丽传说"
修改多个不挨着的时候
必须有足够的个数与之匹配
挨着的时候可以多个改成一个
4.查询
列表是一个可迭代的对象
可以使用for循环
5.其他操作
1.count()
2.sort() ===>数字
3.sort(reverse=True)
4.reverse() # 翻转
5.len(str) #求长度
6.列表的嵌套
改变的时候 拿出来修改了再赋值到原来的位置
3.元祖 ==> 不可变的列表
使用() 表示
huang =tuple()
这里面数据类型没有限制 只读列表
()还表示优先级
所以只有一个元素时,必须添加“,”
空元组 tu = tuple() 必须这么定义
元组也有索引和切片
# 不可变指的是第一层元素不可变 第二层取决于数据类型
也有count(),index(),len()
range()
start:end:step 取不到end
这个比迭代的可以多拿到有个索引
for el in str:
4.列表的嵌套和元祖的嵌套
5.range