Python 基础教程:列表(第9篇)
什么是列表在python中列表list是一种有序、可变的数据类型可以存储任意类型的对象整数、浮点数、字符串甚至其他列表使用方括号[]定义元素之间用逗号分隔。特点有序每个元素都有固定的位置索引。可变可以增、删、改元素。异构可以存放不同类型的数据。创建列表 使用list()函数创建 使用[]创建 列表推导式创建 格式:my_list[i for i in 可迭代的] 格式:my_list[i for i in range() if 表达式] 注意列表推导式虽然简洁但不要过度嵌套最多两层否则可读性会下降。 # 函数创建列表my_listlist()my_list1list([1,2,3])# []创建列表my_list2[]my_list3[牛奶,鸡蛋,面包]# 列表推导式my_list4[iforiinrange(10)]# [0,1,2,3,4,5,6,7,8,9]my_list5[pow(i,2)foriinrange(7)]# [0,1,4,9,16,25,36]my_list6[[i-1,i1]foriinrange(1,7)]# [[0,2],[1,3],[2,4],[3,5],[4,6],[5,7]]访问列表# 遍历列表my_list[iforiinrange(10)]# 直接遍历元素foreachinmy_list:print(each)# 输出0 1 2 3 4 5 6 7 8 9# 通过索引遍历foriinrange(len(my_list)):print(my_list[i])# 输出0 1 2 3 4 5 6 7 8 9 索引从左往右是从0开始 索引从右往左是从-1开始 注意不要越界 each: A B C D E F index: 0 1 2 3 4 5 index: -6 -5 -4 -3 -2 -1 # 通过索引访问my_list[A,B,C,D,E,F]print(my_list[0])# 输出Aprint(my_list[3])# 输出Dprint(my_list[8])# 报错IndexError: list index out of range,下标越界了# 访问列表最后一个元素print(my_list[-1])# 输出Fprint(my_list[len(my_list)-1])# 输出F# [start:end:step] start开始下标,end结束下标,不包括end,step表示步长,步长负数表示从右往前数print(my_list[:3])# 输出[A, B, C]print(my_list[::2])# 输出[A, C, E]print(my_list[-2::-2])# 输出[E, C, A]添加元素 append(element)在列表末尾添加一个元素 insert(index, element)在列表指定位置添加一个元素 extend(iterable)在列表末尾将一个可迭代对象的所有元素追加到末尾 # append()my_list[牛奶,鸡蛋,面包]my_list.append(西红柿)print(my_list)# 输出[牛奶, 鸡蛋, 面包, 西红柿]my_list.append([1,2,3])print(my_list)# 输出[牛奶, 鸡蛋, 面包, 西红柿, [1, 2, 3]]# insert()my_list.insert(0,西瓜)print(my_list)# 输出[西瓜, 牛奶, 鸡蛋, 面包, 西红柿, [1, 2, 3]]my_list.insert(len(my_list),苹果)print(my_list)# 输出[西瓜, 牛奶, 鸡蛋, 面包, 西红柿, [1, 2, 3], 苹果]# extend()# 列表中只有一个元素my_list.extend([helloworld])print(my_list)# 输出[西瓜, 牛奶, 鸡蛋, 面包, 西红柿, [1, 2, 3], 苹果, helloworld]# 字符串中有多个元素分开添加my_list.extend((helloworld))print(my_list)# 输出[西瓜, 牛奶, 鸡蛋, 面包, 西红柿, [1, 2, 3], 苹果, helloworld, h, e, l, l, o, w, o, r, l, d]修改元素 4.修改元素 my_list[牛奶,鸡蛋,面包]# 通过索引修改my_list[2]西红柿# 输出[牛奶, 鸡蛋, 西红柿]print(my_list)# 通过切片修改,把等号左边的元素删除,把等号右边的可迭代对象插入到列表中my_list[0:len(my_list)][1,2,3]# 输出[1, 2, 3]print(my_list)# 通过列表推导式my_list[iforiinrange(10)ifi%2]# 输出[1, 3, 5, 7, 9]print(my_list)删除元素 5.删除元素 remove(value)删除第一个匹配的元素,如果元素不存在会报错 pop(index)删除并且返回指定索引的元素,不传参默认删除最后一个元素 clear()清空所有元素 del 切片 # remove()my_list[1,2,1,3,4,5]my_list.remove(1)# 输出[2, 1, 3, 4, 5]print(my_list)# pop()rmy_list.pop(3)# 输出[2, 1, 3, 5]print(my_list)# 输出4print(r)# clear()my_list.clear()# 输出[]print(my_list)# delmy_list1[1,2,3,4,5,6,7,8]# 删除索引为0的元素delmy_list1[0]# 输出[2, 3, 4, 5, 6, 7, 8]print(my_list1)# 删除切片delmy_list1[:3]# 输出[5, 6, 7, 8]print(my_list1)# 删除变量delmy_list1# 报错NameError: name my_list1 is not definedprint(my_list1)# 切片my_list2[1,2,3,4,5,6]# 重新赋值my_list2[:3][jack,rose]# 输出[jack, rose, 4, 5, 6]print(my_list2)# 清空列表my_list2[:][]# 输出[]print(my_list2)# 列表推导式重新赋值my_list3[1,23,4,5,6,91]my_list3[iforiinmy_list3ifi%20]# 输出[4,6]print(my_list3)其他方法 6.其他方法 index(value, start, end)查找元素首次出现的索引,不存在会报错 count(value)统计元素出现的个数 sort(keyNone, reverseFalse)原地排序,默认升序,没有返回值 reverse()原地反转列表顺序,没有返回值 in,not in判断元素是否在列表中 # index()my_list[10,20,30,20]# 输出1print(my_list.index(20))# 指定搜索范围,输出3print(my_list.index(20,2,len(my_list)))# count()# 输出2print(my_list.count(20))# sort(),默认升序my_list.sort()# 输出[10, 20, 20, 30]print(my_list)# 降序my_list.sort(reverseTrue)# 输出[30, 20, 20, 10]print(my_list)# reverse()my_list1[10,20,30,20]my_list1.reverse()# 输出[20, 30, 20, 10]print(my_list1)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2518070.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!