admin管理员组文章数量:1026989
第五天
一、列表
简介:相比于字符串.不仅可以存放不同数据类型. 且可以存放大量数据.列表是有序(按照你保存的顺序),有索引,可以切片方便取值。
lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我 叫":"dict字典"},{"我叫集合","集合"}]
列表的索引和切片:
列表和字符串一样有索引
1 #索引切片 2 lis = ["麻花腾","王剑林","马芸","刘东墙","雷君"] 3 print(lis[0]) # 索引获取元素 4 print(lis[1]) 5 lis[3] = "流动墙" # 与字符串不同 列表可发生改变 6 print(lis) 7 8 print(lis[0:3]) # 切片 9 print(lis[-3:]) 10 print(lis[0::2]) # 带步长 11 print(lis[-1:-5:-2]) # 倒着取
列表的增删改查:
注意, list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进⾏了操作
1 #新增 append,insert,extend 2 #.append() 追加 添加到末尾 3 lis = ["周杰伦","林俊杰","王力宏"] 4 print(lis.append("?.,['+_']")) # None 没还回值 打印为空 5 lis.append("许巍") 6 lis.append("周传雄") 7 print(lis) 8 9 # .insert() 插入 在某位置插入 原来的元素后移一位 10 lis.insert(3,"徐良") 11 print(lis) 12 lis.insert(0,"许嵩") # 插入 索引变更 效率不高 13 print(lis) 14 15 #迭代添加 .extend() 16 lis1 = ["周杰伦","林俊杰"] 17 lis1.extend("王力宏") # 等同 ["王力宏"][0] 18 print(lis1) # 迭代 ['周杰伦', '林俊杰', '王', '力', '宏'] 19 lis1.extend(["苏打绿"]) # 整体添加 不常用 20 print(lis1)
1 # 2.删除 pop,remove,clear,del 2 # .pop() 弹出一个 3 lis2 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","书剑恩仇录"] 4 lis2.pop() 5 print(lis2) # 默认弹出最后一个 6 lis2.pop(3) 7 print(lis2) # 弹出指定位置元素 8 9 # .remove() 移除指定元素 10 lis2.remove("倚天屠龙记") 11 print(lis2) 12 lis01 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","倚天屠龙记","书剑恩仇录"] 13 lis01.remove("倚天屠龙记") # 当有多个时 只移除第一个 14 print(lis01) 15 lis01.remove("雪山飞狐") # 移除不存在元素会报错 ValueError: list.remove(x): x not in list 16 print(lis01) 17 18 # del 切片删除 19 del lis2[0] # 类似pop 20 print(lis2) 21 del lis2[1:] # 批量删除 22 print(lis2) 23 del lis2[1:4:
1 # 3.修改 索引切片 2 lis02 = ["周星驰","周润发","周杰伦","周笔畅","周传雄"] 3 # lis02[1] = "周树人" # 按索引修改 4 # print(lis02) 5 # lis02[0:3]="哇哈哈" # 迭代修改(步长为1) 6 # print(lis02) 7 # lis02[0:3] = ["哇哈哈"] # 元素为列表 原3元素合为一个 8 # print(lis02) 9 lis02[::2] ="周树人","周作人","周星星" # 步长不是1时 元素的个数必须匹配 10 print(lis02)
1 # 4.查询 for 2 lis2 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","书剑恩仇录"] 3 for shu in lis2: # shu 表示列表中的每一项 lis2是一个可迭代对象 4 print(shu )
1 # 5.其他操作 .count() .sort() .reverse() 2 lis = ["天龙八部","笑傲江湖","倚天屠龙记","天龙八部","射雕英雄传","书剑恩仇录"] 3 c = lis.count("天龙八部") # 查找天龙八部出现的次数 4 print(c) # 返回 2 5 # .sort() 有序 排序 6 lis1 = [1,2,45,6,3,78,96,24,57] 7 # lis1.sort() # 排序 从小到大 升序 8 # print(lis1) 9 # lis1.sort(reverse = True) # 降序 从大到小 10 # print(lis1) 11 # 无序 翻转 .reverse() 12 lis1.reverse() # 翻过来 13 print(lis1) 14 print(len(lis1)) # 长度
二、列表的嵌套
列表嵌套:降维操作 一层一层看就好
1 # 降维操作 一层一层看就好 2 lis = [["香蕉","苹果","荔枝"],["咖啡","果汁","牛奶"],["煎饼","牛排","奶酪"]] 3 print(lis[1][0]) 4 print(lis[2][1:]) # 找到牛排 奶酪 5 print(lis[0][2][0]) # 降维 一层层找 6 7 # 把煎饼中的饼换成蛋 注意嵌套修改时数据类型 8 lis[2][0] = lis[2][0].replace("饼","蛋") # 多层嵌套的时候如果进行操作。 需要重新赋值。 原因是替换的内容是一个 字符串 9 print(lis) # [['香蕉', '苹果', '荔枝'], ['咖啡', '果汁', '牛奶'], ['煎蛋', '牛排', '奶酪']] 10 11 lis[0][1] = "葡萄" # 内部元素是可变数据类型 可直接修改 12 print(lis)
三、元祖和元祖嵌套
元祖:tuple 表示 与列表相比 除了不能增删改 其他与列表一样
与列表类似由()组成,可放任何类型数据,内部元素用逗号隔开 但:只读不可改 可索引切片循环
1 tup = ("001","张三","李四","王二","@$#.,") 2 print(tup) 3 print(tup[0]) # 索引 4 print(tup[3]) 5 print(tup[0:3]) # 切片后仍是元祖 ('001', '张三', '李四') 6 print(tup[0:4:2])
元祖可改与不可改
1 tup1 = ("周杰伦", "哇哈哈", "爽歪歪", ["酸酸乳", "三鹿奶粉", "AD钙奶"]) 2 # tup1[0] = "周笔畅" # 子元素 不可改 3 tup1[3].append("优酸乳") 4 print(tup1) # ('周杰伦', '哇哈哈', '爽歪歪', ['酸酸乳', '三鹿奶粉', 'AD钙奶', '优酸乳']) 5 # 注意:不可变是子元素不可变.而子元素内的子元素可变,这取决于子元素是否是可变对象. 6 # 元组的不可变. 元组的不可变指的是元组内部第一层元素的内存地址
几个特殊情况
1 lis =[] # 新列表 2 lis1 = list() # 新列表 3 print(lis,lis1) # [] [] 4 5 tup1 = () # 元祖 6 tup2 = tuple()# 元祖 7 print(tup1,tup2) # () () 空元组 不可改 无意义
元祖若只有一个元素,必须加逗号
1 # 元祖如果只有一个元素 必须加逗号 2 tup3 = (1) 3 tup3 = (1*(3-9)/8+9*4) # () 可以是 运算符 优先级 4 tup4 = ("爽歪歪",) 5 print(tup3) # 不是元组 6 print(tup4) # 是元组
四、range
range 可以快速获取一组数据 通过for循环获取这些数据
1 # range 可以快速获取一组数据 通过for循环获取这些数据 2 3 # 用while获取 4 i = 0 5 while i<100: 6 print(i) 7 i +=1 8 9 # range 获取 10 for i in range(100): 11 print(i) 12 13 for i in range(0,20,2): # 每两个获取一个 14 print(i) 15 16 for i in range(20,0,-2): # 反过来切片 也一样 [ ) 前闭后开 17 print(i)
打印出索引 + 元素
1 # 打印出索引 + 元素 2 lis = ["语文", "数学", "英语", "代数", "体育", "生物", "化学"] 3 for i in lis: 4 print(i) # 默认for会忽略掉 索引号 5 6 for i in range(len(lis)): 7 print(i,lis[i]) # i 索引 lis[i] 获取元素 8 9 e = "今天晚上要加班!" 10 for i in range(len(e)): 11 print(i,e[i])
转载于:.html
第五天
一、列表
简介:相比于字符串.不仅可以存放不同数据类型. 且可以存放大量数据.列表是有序(按照你保存的顺序),有索引,可以切片方便取值。
lst = [1, '哈哈', "吼吼", [1,8,0,"百度"], ("我","叫", "元", "组"), "abc", {"我 叫":"dict字典"},{"我叫集合","集合"}]
列表的索引和切片:
列表和字符串一样有索引
1 #索引切片 2 lis = ["麻花腾","王剑林","马芸","刘东墙","雷君"] 3 print(lis[0]) # 索引获取元素 4 print(lis[1]) 5 lis[3] = "流动墙" # 与字符串不同 列表可发生改变 6 print(lis) 7 8 print(lis[0:3]) # 切片 9 print(lis[-3:]) 10 print(lis[0::2]) # 带步长 11 print(lis[-1:-5:-2]) # 倒着取
列表的增删改查:
注意, list和str是不一样的. lst可以发生改变. 所以直接就在原来的对象上进⾏了操作
1 #新增 append,insert,extend 2 #.append() 追加 添加到末尾 3 lis = ["周杰伦","林俊杰","王力宏"] 4 print(lis.append("?.,['+_']")) # None 没还回值 打印为空 5 lis.append("许巍") 6 lis.append("周传雄") 7 print(lis) 8 9 # .insert() 插入 在某位置插入 原来的元素后移一位 10 lis.insert(3,"徐良") 11 print(lis) 12 lis.insert(0,"许嵩") # 插入 索引变更 效率不高 13 print(lis) 14 15 #迭代添加 .extend() 16 lis1 = ["周杰伦","林俊杰"] 17 lis1.extend("王力宏") # 等同 ["王力宏"][0] 18 print(lis1) # 迭代 ['周杰伦', '林俊杰', '王', '力', '宏'] 19 lis1.extend(["苏打绿"]) # 整体添加 不常用 20 print(lis1)
1 # 2.删除 pop,remove,clear,del 2 # .pop() 弹出一个 3 lis2 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","书剑恩仇录"] 4 lis2.pop() 5 print(lis2) # 默认弹出最后一个 6 lis2.pop(3) 7 print(lis2) # 弹出指定位置元素 8 9 # .remove() 移除指定元素 10 lis2.remove("倚天屠龙记") 11 print(lis2) 12 lis01 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","倚天屠龙记","书剑恩仇录"] 13 lis01.remove("倚天屠龙记") # 当有多个时 只移除第一个 14 print(lis01) 15 lis01.remove("雪山飞狐") # 移除不存在元素会报错 ValueError: list.remove(x): x not in list 16 print(lis01) 17 18 # del 切片删除 19 del lis2[0] # 类似pop 20 print(lis2) 21 del lis2[1:] # 批量删除 22 print(lis2) 23 del lis2[1:4:
1 # 3.修改 索引切片 2 lis02 = ["周星驰","周润发","周杰伦","周笔畅","周传雄"] 3 # lis02[1] = "周树人" # 按索引修改 4 # print(lis02) 5 # lis02[0:3]="哇哈哈" # 迭代修改(步长为1) 6 # print(lis02) 7 # lis02[0:3] = ["哇哈哈"] # 元素为列表 原3元素合为一个 8 # print(lis02) 9 lis02[::2] ="周树人","周作人","周星星" # 步长不是1时 元素的个数必须匹配 10 print(lis02)
1 # 4.查询 for 2 lis2 = ["天龙八部","笑傲江湖","倚天屠龙记","射雕英雄传","书剑恩仇录"] 3 for shu in lis2: # shu 表示列表中的每一项 lis2是一个可迭代对象 4 print(shu )
1 # 5.其他操作 .count() .sort() .reverse() 2 lis = ["天龙八部","笑傲江湖","倚天屠龙记","天龙八部","射雕英雄传","书剑恩仇录"] 3 c = lis.count("天龙八部") # 查找天龙八部出现的次数 4 print(c) # 返回 2 5 # .sort() 有序 排序 6 lis1 = [1,2,45,6,3,78,96,24,57] 7 # lis1.sort() # 排序 从小到大 升序 8 # print(lis1) 9 # lis1.sort(reverse = True) # 降序 从大到小 10 # print(lis1) 11 # 无序 翻转 .reverse() 12 lis1.reverse() # 翻过来 13 print(lis1) 14 print(len(lis1)) # 长度
二、列表的嵌套
列表嵌套:降维操作 一层一层看就好
1 # 降维操作 一层一层看就好 2 lis = [["香蕉","苹果","荔枝"],["咖啡","果汁","牛奶"],["煎饼","牛排","奶酪"]] 3 print(lis[1][0]) 4 print(lis[2][1:]) # 找到牛排 奶酪 5 print(lis[0][2][0]) # 降维 一层层找 6 7 # 把煎饼中的饼换成蛋 注意嵌套修改时数据类型 8 lis[2][0] = lis[2][0].replace("饼","蛋") # 多层嵌套的时候如果进行操作。 需要重新赋值。 原因是替换的内容是一个 字符串 9 print(lis) # [['香蕉', '苹果', '荔枝'], ['咖啡', '果汁', '牛奶'], ['煎蛋', '牛排', '奶酪']] 10 11 lis[0][1] = "葡萄" # 内部元素是可变数据类型 可直接修改 12 print(lis)
三、元祖和元祖嵌套
元祖:tuple 表示 与列表相比 除了不能增删改 其他与列表一样
与列表类似由()组成,可放任何类型数据,内部元素用逗号隔开 但:只读不可改 可索引切片循环
1 tup = ("001","张三","李四","王二","@$#.,") 2 print(tup) 3 print(tup[0]) # 索引 4 print(tup[3]) 5 print(tup[0:3]) # 切片后仍是元祖 ('001', '张三', '李四') 6 print(tup[0:4:2])
元祖可改与不可改
1 tup1 = ("周杰伦", "哇哈哈", "爽歪歪", ["酸酸乳", "三鹿奶粉", "AD钙奶"]) 2 # tup1[0] = "周笔畅" # 子元素 不可改 3 tup1[3].append("优酸乳") 4 print(tup1) # ('周杰伦', '哇哈哈', '爽歪歪', ['酸酸乳', '三鹿奶粉', 'AD钙奶', '优酸乳']) 5 # 注意:不可变是子元素不可变.而子元素内的子元素可变,这取决于子元素是否是可变对象. 6 # 元组的不可变. 元组的不可变指的是元组内部第一层元素的内存地址
几个特殊情况
1 lis =[] # 新列表 2 lis1 = list() # 新列表 3 print(lis,lis1) # [] [] 4 5 tup1 = () # 元祖 6 tup2 = tuple()# 元祖 7 print(tup1,tup2) # () () 空元组 不可改 无意义
元祖若只有一个元素,必须加逗号
1 # 元祖如果只有一个元素 必须加逗号 2 tup3 = (1) 3 tup3 = (1*(3-9)/8+9*4) # () 可以是 运算符 优先级 4 tup4 = ("爽歪歪",) 5 print(tup3) # 不是元组 6 print(tup4) # 是元组
四、range
range 可以快速获取一组数据 通过for循环获取这些数据
1 # range 可以快速获取一组数据 通过for循环获取这些数据 2 3 # 用while获取 4 i = 0 5 while i<100: 6 print(i) 7 i +=1 8 9 # range 获取 10 for i in range(100): 11 print(i) 12 13 for i in range(0,20,2): # 每两个获取一个 14 print(i) 15 16 for i in range(20,0,-2): # 反过来切片 也一样 [ ) 前闭后开 17 print(i)
打印出索引 + 元素
1 # 打印出索引 + 元素 2 lis = ["语文", "数学", "英语", "代数", "体育", "生物", "化学"] 3 for i in lis: 4 print(i) # 默认for会忽略掉 索引号 5 6 for i in range(len(lis)): 7 print(i,lis[i]) # i 索引 lis[i] 获取元素 8 9 e = "今天晚上要加班!" 10 for i in range(len(e)): 11 print(i,e[i])
转载于:.html
本文标签: 第五天
版权声明:本文标题:第五天 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://it.en369.cn/jiaocheng/1700001710a320893.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论