1 把班级中的名字存储下来,如何操作? name1 name2 name3 …… 这种命名方式绝对不行 所以应该怎么办? 2 names = "ZhangYang Guyun Xiangpeng XuLiangChen" 这里是用空格区分的,逗号也可以 但是,应该如何取? 如果通过字符串存储很多信息 1 不好存 2 不好改 所以出现了一种数据类型,叫 列表 列表的命名规则,就是中括号 [] names = [] 现在,一个列表就写完了 print(names) names = ["ZhangYang","Guyun","XiangPeng","XuLiangchen"] 现在想取出 ZhangYang print(names[0]) 0 代表 从左到右 开始的 第 1 个位置,计算机从 0 开始,二进制的第一个 就是 0 通过位置 读取出来了 print(names[0],names[2]) 取出了 ZhangYang 和 XiangPeng
2-1 现在想同时取出 Guyun 和 XiangPeng print(names[1:2]) 只取到了 Guyun 是为什么? print(names[1:3]) 为什么向后错一个,就取到了 Guyun 和 XiangPeng 起止位置包括,截止位置不包括; print(names[1:3]) # 这个动作,叫切片 2-2 如果不知道列表长度,想取最后一个,在不知道长度的情况下,取到最后的位置 print(names[-1]) 取得结果 XuLiangChen 这个是从右边开始数 所以,取 XiangPeng 就是 print(names[-2]) names = ["ZhangYang","Guyun","XiangPeng","XuLiangchen"] print(names[3]) # 切片 print(names[-2]) # 切片 ---> XuLiangchen XiangPeng
2-3 1 取最后两个值 XiangPeng 和 XuLiangchen print(names[-1:-3]) 结果是[]; 因为是 从左往右数的 如果是 print(names[-3:-1]);最右侧的就会取不到; --->['Guyun', 'XiangPeng'] 解决的办法就是 什么也不写 print(names[-2:]) 结果就是 XiangPeng 和 XuLiangChen 2 print(names[0:3]) 和 print(names[:3]) 结果是一样的,前面如果是 0,也是可以忽略掉的 以上是简单的 切片 3 有一个新的需求,现在 想 把 LeiHaidong 放入列表中 3-1 直接追加到后面 names.append("LeiHaidong") 3-2 如果放在一个随意的位置 names.insert(1,"ChenRonghua") 想放哪个位置,就写哪个位置 names.insert(3,"Xinzhiyu") 3-3 修改 Guyun 的值 names[2] = "XieDi"
4 删除列表中的某一元素,删除有 3 种方法 4-1 直接 names.remove("ChenRonghua") 4-2 del names[1] 4-3 names.pop() 删掉了最后一个,这是默认的; 如果输入下标,就可以指定 names.pop(1) 5 取出一个元素,知道一个名字叫 XieDi 现在想取出来,如何通过名字取出来,并找到对应的位置 print(names.index("XieDi")) 找到位置后,现在想取出来 print(names[names.index("XieDi")]) 6 如果有同名的人,比如有 两个 ChenRonghua names = ["ZhangYang","Guyun","XiangPeng","ChenRonghua","XuLiangChen"] names.insert(1,"ChenRonghua") ---> ['ZhangYang', 'ChenRonghua', 'Guyun', 'XiangPeng', 'ChenRonghua', 'XuLiangChen'] 现在不知道有多少个 ChenRonghua,需要统计,那么如何统计 有多少个呢? print(names.count("ChenRonghua")) 7 names.clear() 这个列表就没了 是清空 8 names.reverse() 反转 9 names.sort() 排序 优先级 符号 > 数字 > 大写 > 小写 依据 Ascii 的顺序 10 extend 方法 比如还有一个列表,是另外的一个班级,名字叫 names2 names2 = [1,2,3,4] names.extend(names2) 相当于把另一个班级并过来 print(names,names2) -→ ['4ZhangYang', '#!Guyun', 'xXiangPeng', 'ChenRonghua', 'XuLiangChen', 1, 2, 3, 4] [1, 2, 3, 4] 10-1 现在想删掉 names2 del names2 即可