Python列表定义、创建、添加、删除
1.列表的定义及常用方法
列表是Python内置的可变序列,是包含若干元素的连续内存空间。在形式上,列表的所有元素放在一对方括号[ ]中,相邻元素之间用 逗号隔开。当列表增加或者删除元素时,列表对像会自动进行内存的扩展和收缩,从而保证元素之间没有缝隙,因此除非却有必要,否则尽量不要在列表中间增加和删除元素,这样会造成元素迁移,增加处理时间。尽量在列表末尾增加和删除元素。同一个列表中的元素类型可以不同。
方法 | 说明 |
list.append(x) | 将元素x添加至列表尾部 |
list.extend(L) | 将列表L中所有元素添加至列表尾部 |
list.insert(index,x) | 在列表制定位置index添加元素x |
list.count(x) | 统计列表中元素x出现的次数 |
list.remove(x) | 在列表中删除首次出现的元素x |
list.pop([index]) | 删除并返回列表制定位置元素,默认为最后一个元素 |
list.clear(x) | 清空列表中的元素,但保留列表对像 |
list.index(x) | 返回第一个值为x的元素的下标(位置),若不存在x,则抛出异常 |
list.reverse() | 原地翻转列表元素 |
list.sort() | 对列表元素进行原地排序 |
list.copy() | 对列表元素进行浅复制 |
2.创建列表及增加列表元素
2.1创建列表的几种方法
>>> a=['as','2','dji','5','sd','2d'] >>> b=[] #创建空列表 >>> c=list((3,5,7,8,9,11)) #用list()函数将元祖转化为列表 >>> d=list(range(1,20,2)) #元素从1到20,步距为2 >>> e=list('hello kangkang') #用list()函数将字符串转化为列表
>>> print(a,'\n',b,'\n',c,'\n',d,'\n',e)
运行结果:
['as', '2', 'dji', '5', 'sd', '2d'] [] [3, 5, 7, 8, 9, 11] [1, 3, 5, 7, 9, 11, 13, 15, 17, 19] ['h', 'e', 'l', 'l', 'o', ' ', 'k', 'a', 'n', 'g', 'k', 'a', 'n', 'g']
2.2列表添加元素的几种方法
#----列表添加元素 alist=[3,4,5] blist=alist+[7,8,9] #使用+号添加元素,速度慢,不建议使用 print(alist) print(blist) alist.append(9) #使用append函数在列表末尾添加元素,推荐使用,一次添加一个. print(alist) alist.extend([6,7,8,9])#entend一次可以增加多个元素,append一次只能增加一个 print(alist) alist.insert(2,6) #在列表第2个位置插入一个元素 print(alist) alist=alist*3 #将列表重复三次,形成新列表。若修改原列表的值,对应的重复值也会修改。 print(alist)
运行结果
[3, 4, 5] [3, 4, 5, 7, 8, 9] [3, 4, 5, 9] [3, 4, 5, 9, 6, 7, 8, 9] [3, 4, 6, 5, 9, 6, 7, 8, 9] [3, 4, 6, 5, 9, 6, 7, 8, 9, 3, 4, 6, 5, 9, 6, 7, 8, 9, 3, 4, 6, 5, 9, 6, 7, 8, 9]
3.删除列表中的元素
#----删除列表中的元素 print('\n\n') a_list=[3,4,5,6,7,5,5] del a_list[1] #删除列表中下标为1(第二个)的元素 print(a_list) b_list=[3,4,5,6,7,5,5] b_list.pop() #删除末尾元素并返回该元素 print (b_list) blist.pop(1) #删除位置1的元素,并返回该元素 print (b_list) b_list.remove(5)#不知道元素位置,但是知道元素内容,用remove删除首次出现的内容为5的元素。 print (b_list)
运行结果:
[3, 5, 6, 7, 5, 5]
[3, 4, 5, 6, 7, 5]
[3, 4, 5, 6, 7, 5]
[3, 4, 6, 7, 5]
如果需要删除列表中所有制定的元素,则需要从后面往前面删除,原因是python会自动调整内存,如果从前面往后删除,删除位置会被后面的元素顶上去,造成连续出现的元素无法删除干净
a_list=[3,4,5,6,7,8,5,5,5,6,7,7,8] for i in range(len(a_list)-1,-1,-1): print(i) if a_list[i]==5: del a_list[i] print(a_list) else: print(a_list)