day 12 列表的魔法,及灰魔法
列表 List
list 类 列表 中括号阔起来
逗号分割每个元素
列表中的元素可以是 数字 字符串 列表 布尔值
可以无限嵌套列表
1,支持索引和切片
li = [1, 12, 9, "age", ["szw", "pml"], "alex"] a = len(li) print(a) print(li) print(li[0]) # 索引取值 print(li[1:5]) # 切片取值 print(li[1:-1])
2,支持while for循环
举例 while for 循环 li = [1, 12, 9, "age", ["szw", "pml"], "alex"] a = len(li) count = 0 while count < a: print([li[count]]) count = count + 1 li = [1, 12, 9, "age", ["szw", "pml"], "alex"] for item in li: print(item)
3,列表的修改
li = [1, 12, 9, "age", ["szw", "pml"], "alex"] # 修改 li[1] = 120 li[1:3] = [120,90] li[2] = [1,2,3] print(li)
4,列表的删除
li = [1, 12, 9, "age", ["szw", "pml"], "alex"] # del li[1] # 删除,第一种方式
del li[2:6] # 切片的方式 第二种方式 print(li)
5,in操作,判断字符串是否在列表中
# in操作 li = [1, 12, 9, "age", ["szw", "pml"], "alex"] v = 12 in li print(v) 结果:True
6,索引取值,可以一直往里面找
# 索引取值,可以一直往里找 # li = [1, 12, 9, "age", ["szw", "pml"], "alex"] # a = li[4][0] # print(a)
7,字符串转换成列表
# 字符串转换成列表 # li = [1, 12, 9, "age", ["szw", "pml"], "alex"] # s = "afkdajskljkrlajkldfjas" # a = list(s) # print(a)
8,列表转换成字符串
# 列表转换成字符串################## # 第一种方式 自己写for循环一个一个处理,既有数字又有字符串 li = [1, 12, 9, "age", ["szw", "pml"], "alex"] s = "" for i in li: s = s + str(i) print(s)
#第二种方式 如果只有字符串,可以用join拼接
li = ["123","alex"]
a = "".join(li)
print(a)
###################灰魔法,list类提供的方法###############
1,append 追加值
li = [11,22,33,44] li.append(5) # 原来值最后追加 li.append([99,11]) print(li)
2,clear清空列表
清空列表 li = [1, 12, 9, "age", ["szw", "pml"], "alex"] li.clear() print(li)
3,复制,拷贝
复制,浅拷贝 li = [11,22,33,44] v = li.copy() print(v)
4,count 计算元素出现次数
计数,计算22出现的次数 li = [11,22,33,44] v = li.count(22) print(v)
5,extend 扩展原来的列表,区分apent,参数必须是可迭代对象
扩展原来的列表,区分apent,可迭代对象 li = [11,22,33,44] li.extend(["9999","不得鸟"]) li.extend("不得鸟") print(li)
6,index 获取索引位置
根据值获取当前值索引位置(左边有优先)
根据值获取当前值索引位置(左边有优先) li = [11,22,33,44] v = li.index(22) print(v)
7,insert 在制定索引位置插入元素
往哪个位置插入,在指定索引位置插入元素 li = [11,22,33,44] li.insert(0,99) 往第0个位置插值 print(li)
8,pop
删除某个值,获取删除的值
删除某个值,获取删除的值 li = [11,22,33,44] v = li.pop(1) 后面不加参数,默认最后一个删除 print(li) print(v)
9,remove 删除列表中的指定值,左边优先
删除列表中的,指定值,左边优先 li = [11,22,33,44] li.remove(33) print(li) ps:pop,remove,del index li[0]
10,reverse 列表反转
将当前列表进行反转 li = [11,22,33,44] li.reverse() print(li)
11,sort 列表的排序
# 列表的排序 li = [11,44,33,22] li.sort() # 排序,从小到大排
li.sort(reverse=True) # 排序,从大到小排 print(li)