05列表

  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"))
原文地址:https://www.cnblogs.com/zh1127487137/p/12552760.html