1 """ 2 在Python内置类型中,有一种类型是有序排列的 3 这种类型叫做序列(sequence) 4 序列:列表,字符串,range() 5 列表在其他语言中通常被称为“数组”,比数组的功能强大的多。 6 列表,最重要的,使用最频繁的一种类型 7 列表中可以存放各种类型的数据。 8 """ 9 10 """ 11 19班,一共30人,2位老师,定义变量,保存这些数据,怎么做 12 使用列表 13 """ 14 # teacher_01 = "zhang" 15 # teacher_02 = "ma" 16 # teacher_03 = "wang" 17 # teacher_04 = "li" 18 19 """ 20 创建列表的四种方式 21 1a = [] 22 2.b = [1,2,3,a,b] # 中括号包含元素之间用逗号分隔 23 3.c = list(iterable) # iterable是可迭代对象,是可选的 24 4.d = [0 for x in iterable] # 列表推导式 25 """ 26 # a = [] # 方式1 27 # print(type(a)) 28 # print(a) 29 # b = [1, 2, 3, "abc", "AB"] # 方式2 30 # print(type(b)) 31 # print(b) 32 # string_01 = "hello,everyone" 33 # c = list(string_01) # 方式3 34 # print(c) 35 # d = list() # 方式3 36 # print(d) 37 # e = [1, 2, 3] 38 # e_1 = [x*2 for x in e] # 方式4 39 # repr(e_1) 40 41 # # 创建一个空列表 42 # list_1 = [] 43 # list_2 = list() 44 # # 创建一个列表,里面包含这三个元素,分别是字符串"abc","hello",123 45 # list_3 = ["abc", "hello",123] 46 # print(list_3) 47 # # 通过字符串"abc123创建一个列表 48 # list_4 = list("abc123") 49 # print(list_4) 50 # # 使用列表推导式生成一个列表,把原来的[2,3,4]改为[10,15,20] 51 # list_5 = [x*5 for x in [2, 3, 4]] 52 # print(list_5) 53 54 55 # words = "Hello,Python" 56 # result = words.capitalize() 57 # result_another = words.title() 58 # print(result) 59 # print(result_another) 60 # 运行结果: 61 # Hello,python 62 # Hello,Python 63 # words = "Hello,Python" 64 # index = words.index("Py", 0, 6) 65 # print(index) 66 # # 运行结果: 67 # # ValueError: substring not found 68 # my_str = "ab2b3n5n2n67mm4n2" 69 # temp = my_str.count("n") 70 # print(temp) # 4 71 72 # word = " abc " 73 # print(word.strip()) 74 # word_1 = "a,b,c,d" 75 # print(word_1.split()) 76 # word_2 = "hello, " 77 # word_3 = " ,python" 78 # word_2 = word_2.rstrip() 79 # word_3 = word_3.lstrip() 80 # print(word_2.rstrip(",")) 81 # print(word_3.lstrip(",")) 82 # print(word_2.ljust(2, "&")) 83 # print(word_3.ljust(2, "&")) 84 85 """ 86 列表中的索引下标,同字符串一样,从0开始,至长度-1 87 列表可以使用下标获取元素数值,还可以使用下标进行修改元素 88 切片: 89 1.获取多个元素的值 90 2.修改多个元素的值 91 """ 92 # word = "super:java" # 字符串不支持修改 93 # list_1 = list(word) 94 # print(list_1) 95 # list_1[5:] = "python" 96 # print(list_1) 97 # word_01 = " ".join(list_1) 98 # print(word_01) 99 # list_2 = list(word_01) 100 # print(list_2) 101 # print(list_2[0]) 102 # a = list_2[0:6] 103 # print(a) 104 # print(type(a)) 105 # list_2[:] = [1, 2, 3, 4] 106 # print(list_2) 107 108 """ 109 遍历列表,for while同字符串一样 110 enumerate(iterable)函数,iterable可迭代的对象 111 """ 112 # list_2 = [1, 2, 3, 4] 113 # for temp in list_2: 114 # print(list_2) 115 # i = 1 116 # while i < len(list_2) 117 # print(list_2[i]) 118 # i += 1 119 # for i, j in enumerate(list_2): 120 # print(i, j) 121 122 """ 123 列表常用函数 124 1.len()求一个列表中的元素个数 125 2.max(),min()求一个列表中所有元素中的最大值或最小值,元素的类型数据要一致 126 3.list()将一个可迭代对象转换为列表,浅拷贝 127 4.成员运算符,in / not in 128 """ 129 # list_1 = ["ABC", "abc", "bef", "123"] 130 # print(len(list_1)) 131 # print(max(list_1)) 132 # print(min(list_1)) 133 # 4 134 # bef 135 # 123 136 137 # list_1 = ["ABC", "abc", "bef", 123] # 字符串型与整形不能对比 138 # print(max(list_1)) 139 # 出错 140 # print(max(list_1)) 141 # TypeError: '>' not supported between instances of 'int' and 'str' 142 143 """ 144 列表的内建方法,count()统计某一个元素在列表中出现的次数 145 """ 146 # word = [1, 2, 3, 1, [1, 2]] 147 # # 求列表中元素1出现的次数 148 # print(word.count(1)) # 结果为:2 149 # print(word.count([1, 2])) # 结果为:1 150 151 152 """ 153 列表内建方法,添加列表元素: 154 1.append 追加元素至列表末尾 155 2.extend 将一个列表的所有元素全部追回至另一个列表中 156 3.insert 追加元素至指定的下标位置 157 """ 158 # word = [1, 2, 3, 1, [1, 2], 5] 159 # print(word) 160 # word[4].append(3) # word下标为4的元素是一个列表 161 # print(word) 162 # word.append(6) 163 # print(word) 164 # 运行结果: 165 # [1, 2, 3, 1, [1, 2], 5] 166 # [1, 2, 3, 1, [1, 2, 3], 5] 167 # [1, 2, 3, 1, [1, 2, 3], 5, 6] 168 # word_1 = ["abc", "def"] 169 # word.extend(word_1) # extend将列表中的元素追回至原列表中 170 # print(word) 171 # word.append(word_1) # append将列表作为一个元素追回至原列表中 172 # print(word) 173 # # 运行结果: 174 # # [1, 2, 3, 1, [1, 2], 'abc', 'def'] 175 # # [1, 2, 3, 1, [1, 2], 'abc', 'def', ['abc', 'def']] 176 # word.insert(0, "9") # 在列表指定下标位置插入新的元素,object 177 # print(word) 178 # # 运行结果: 179 # # ['9', 1, 2, 3, 1, [1, 2, 3], 5, 6, 'abc', 'def', ['abc', 'def']] 180 181 """ 182 列表内建方法,查找元素下标 183 index 在列表中查找第一个匹配元素的下标索引,如果没有找到就报ValueError 184 """ 185 # list_1 = ["word", "hello", "python", "word"] 186 # list_1.index("word") 187 # print(list_1.index("word")) # 结果为: 0 188 # print(list_1.index("hello")) # 结果为: 1 189 # print(list_1.index("kitty")) # ValueError 190 191 """ 192 列表内建方法,删除元素: 193 1.pop(index) 默认删除最后一个元素,如果指明下标即删除相应下标位置的元素;抛出被删元素 194 2.remove(object) 指明元素的值移除列表中的一个匹配的元素 195 3.clear() 清空列表内容,使列表变为一个空列表 196 4.关键字 del 列表名 :删除列表 197 """ 198 # list_1 = [1, 2, 3, 4, 5, 6] 199 # print(list_1.pop()) # 默认删除最后一个下标的元素 200 # print(list_1) 201 # print(list_1.pop(1)) # 删除下标为1的元素,删的是数值2 202 # print(list_1) 203 # movies = ["哪吒", "烈火英雄", "西行记", "大话西游"] 204 # print(movies.remove("哪吒")) # 结果:None 205 # print(movies) # 结果:['烈火英雄', '西行记', '大话西游'] 206 # # movies.remove("哪吒") # 结果:ValueError: list.remove(x): x not in list 207 # movies.clear() 208 # print(movies) # 结果为[] 209 # del movies # 使用关键字删除列表 210 # # print(movies) # 结果为:NameError: name 'movies' is not defined 211 212 """ 213 列表的排序,几种方法 214 1.reverse 内建方法,作用:改变原列表,使元素逆序 215 2.shot(reverse = True) 列表内建放阀,对列表中的元素进行排序,默认升序,reverse=True倒序 216 reverse = False,即不写这个参数,默认升序,reverse=True倒序 217 3.sorted() 函数,对列表元素进行排序,升序,生成新的列表 218 """ 219 # list_1 = [2, 5, 1, 9, 8] 220 # list_1.reverse() # [8, 9, 1, 5, 2] 221 # print(list_1) 222 # list_1.sort() # 相当于 reverse=False 223 # print(list_1) 224 # list_1.sort(reverse=True) # [1, 2, 5, 8, 9] 225 # print(list_1) # [9, 8, 5, 2, 1] 226 # list_2 = sorted(list_1) 227 # print(list_2) # [1, 2, 5, 8, 9] 228 # list_3 = ["a", "b", "e", "aa", "cc"] 229 # print(list_3.sort()) # None 230 # list_4 = ["a", "b", "e", "a", 1] 231 # # print(list_4.sort()) # TypeError: '<' not supported between instances of 'int' and 'str' 232 # list_5 = [10, 20, 12, 19, 7] 233 # list_5.sort() 234 # print(list_5) # [7, 10, 12, 19, 20] 235 # list_5.sort(reverse=True) # 相当于[list_5.sort()][.reverse] 236 # print(list_5) # [20, 19, 12, 10, 7] 237 # list_6 = [1, 5, 8, 2, 6, 6] 238 # list_6.sort() 239 # list_6.reverse() 240 # print(list_6) # [8, 6, 6, 5, 2, 1] 241 """ 242 1.20190924 243 """ 244 # 1.已知info=[1,2,3,4,5],请通过两种编程方法,将列表变成info=[5,4,3,2,1]. 245 # 方法1 246 # info = [1, 2, 3, 4, 5] 247 # info.reverse() # [5, 4, 3, 2, 1] 248 # print(info) 249 # # 方法2 250 # info = [1, 2, 3, 4, 5] 251 # info.sort(reverse=True) # shot()列表的内建方法,其中REVERSE=Ture是sort的参数 252 # print(info) 253 254 """ 255 列表排序还有一个函数,sort(),可以将排序后的值赋值给新的变量 256 """ 257 """ 258 关键字: 关键字 空格 被操作对象 比如:del list_! 259 函数: 函数名(被操作对象,参数) 比如:len(list_1) 260 内建方法: 被操作对象.方法名(参数) 比如list_!.append("liu) 261 """ 262 # list_1 = [5, 3, 6, 2, 8] 263 # list_1.sort() 264 # print(list_1) 265 # list_1 = [5, 3, 6, 2, 8] 266 # list_2 = sorted(list_1) 267 # print(list_1) 268 # print(list_2) 269 # list_3 = sorted(list_1, reverse=True) 270 # print(list_3) 271 # 已知列表 list_1 = ["zhang", "wang", "li", "zhao"] 272 # 1. 在list_1中追加元素 "liu" 273 # list_1 = ["zhang", "wang", "li", "zhao"] 274 # list_1.append("liu") 275 # print(list_1) 276 # 2. 列表 list_2 = ["guo", "sun", "lu"],把list_2中的所有元素追加至list_1中 277 # list_2 = ["guo", "sun", "lu"] 278 # list_1.extend(list_2) 279 # print(list_1) 280 # 3. 删除list_1中的最后一个元素,并把此元素的值显示出来 281 # print(list_1.pop()) 282 # 4. 删除list_1中下标为5的元素 283 # print(list_1.pop(5)) 284 # print(list_1) 285 # 5. 删除list_1中的"zhao" 286 # list_1.remove("zhao") 287 # print(list_1) 288 # 6. 在list_1中下标2的位置插入元素"xu" 289 # list_1.insert(2, "xu") 290 # print(list_1) 291 # 7. 把list_2中的元素全部替换为["Guo","Sun","Lu"] 292 # word_1 = " ".join(list_2) # 对列表中的每个元素进行分隔后拼接成字符串 293 # print(word_1) 294 # word_2 = word_1.title() # 字符串的每个单词首字母大写 295 # list_3 = word_2.split() # 字符串的分割方法,结果为列表 296 # print(list_3) 297 # list_2[:] = list_3 # 切片进行元素大范围替换 298 # print(list_2) 299 300 # 8. 清空list_2中的内容 301 # print(list_2.clear()) 302 # print(list_1) 303 # del list_2 # 直接删除列表,del关键字 304 # 9. 字符串"1907C"中的每一个字符为一个元素,追加至list_1中 305 # 字符串转列表,extend 306 # list_3 = ["1907c"] 307 # list_1.extend(list_1) 308 309 # word_3 = "1907c" 310 # list_4 = list(word_3) 311 # list_1.extend(list_4) 312 # print(list_1) 313 # 314 # for i in "1907c": 315 # list_1.append(i) 316 # print(list_1) 317 # 10. 查找"sun"的下标位置 318 # print(list_1.index("sun"))