Python学习-列表(list)的常用方法
2018-07-05 本文已影响11人
残阳夕露
查看所有Python相关学习笔记
列表的常用方法
列表常用方法
-
重点掌握
- append 增加元素----从尾部增加---无返回值--None
- insert 给列表指定位置插入一个元素 insert(插入的下标,值)
- del alist[下标] del 后面跟具体的值
- pop 在删除掉元素的同时,会得到元素的值
- remove(具体值)---最慢---遍历列表里面要删除的元素--只删除第一个找到的
-
增加元素append;extend;insert
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #增加一个元素 member.append('hasen4') print(f'增加一个元素:{member}') #增加一个列表 member.extend(['hasen5','hasen6']) print(f'增加一个列表:{member}') #根据下标插入元素 member.insert(0,'hasen7') print(f'根据下标插入元素:{member}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 增加一个元素:['hasen1', 'hasen2', 'hasen3', 'hasen4'] 增加一个列表:['hasen1', 'hasen2', 'hasen3', 'hasen4', 'hasen5', 'hasen6'] 根据下标插入元素:['hasen7', 'hasen1', 'hasen2', 'hasen3', 'hasen4', 'hasen5', 'hasen6']
-
交换位置
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #交换元素位置 member[0],member[1] = member[1],member[0] print(f'交换元素位置:{member}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 交换元素位置:['hasen2', 'hasen1', 'hasen3']
-
删除元素(remove;del;pop)
member = ['hasen1','hasen2','hasen3','hasen4'] print(f'原始列表:{member}') #remove根据元素内容删除元素 member.remove('hasen2') print(f'根据元素内容删除元素:{member}') #del 删除元素 del member[1] print(f'根据下标删除元素:{member}') #del member #删除整个列表 #pop弹出元素(弹出最后一个元素) name = member.pop() print(f'pop弹出元素:{member}') print(f'弹出的元素值:{name}') name2 = member.pop(0) #根据下标弹出元素 print(f'pop根据下标弹出元素:{member}') print(f'弹出的元素值:{name2}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3', 'hasen4'] 根据元素内容删除元素:['hasen1', 'hasen3', 'hasen4'] 根据下标删除元素:['hasen1', 'hasen4'] pop弹出元素:['hasen1'] 弹出的元素值:hasen4 pop根据下标弹出元素:[] 弹出的元素值:hasen1
-
切片&复制
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #切片-生成新的对象 member1 = member[1:2] #从下标为1到下标为(2-1)到元素 print(f'切片1:{member1}') member2 = member[:2] #从第一个元素(下标为0)开始到下标为(2-1)个 print(f'切片2:{member2}') member3 = member[1:] #从下标为1个到最后一个 print(f'切片3:{member3}') #切片copy member4 = member[:] #member4是复制出来到新到列表 #member4 = member.copy() member5 = member #member5和member指向同一个列表 member6 = member.copy() member.append('hasen4') print(f'打印member:{member}') print(f'打印切片copy到列表member4:{member4}') print(f'打印=指向到列表member5:{member5}') print(f'打印copy的member6:{member6}') # 倒序切片(从后向前切) print('倒序切片(从后向前切).................') test = ['a','b',1,2,3] test = ['a','b',1,2,3] print(test[1:3:1]) print(test[-1:-3:-1]) print(test[3:1:-1])
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 切片1:['hasen2'] 切片2:['hasen1', 'hasen2'] 切片3:['hasen2', 'hasen3'] 打印member:['hasen1', 'hasen2', 'hasen3', 'hasen4'] 打印切片copy到列表member4:['hasen1', 'hasen2', 'hasen3'] 打印=指向到列表member5:['hasen1', 'hasen2', 'hasen3', 'hasen4'] 打印copy的member6:['hasen1', 'hasen2', 'hasen3'] 倒序切片(从后向前切)................. ['b', 1] [3, 2] [2, 1]
- 补充 slice
myslice = slice(5)# 设置截取5个元素的切片 print(myslice) slice(None, 5, None) arr = list(range(10)) print(arr) print(arr[myslice])# 截取 5 个元素
- 执行结果
slice(None, 5, None) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [0, 1, 2, 3, 4]
-
翻倍
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') member = ['hasen1','hasen2','hasen3'] #整体增加本列表 print(f'原始:{member}') member *= 3 print(f'整体增加本列表:{member}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 原始:['hasen1', 'hasen2', 'hasen3'] 整体增加本列表:['hasen1', 'hasen2', 'hasen3', 'hasen1', 'hasen2', 'hasen3', 'hasen1', 'hasen2', 'hasen3']
-
判断元素是否存在于列表内(in)
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #判断元素是否在列表内 print('hasen1' in member)
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] True
-
查看列表所有的方法
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #查看列表到方法 print(f'查看列表可用方法:{dir(member)}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 查看列表可用方法:['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
-
查看元素个数&某个元素出现的次数
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #查看列表元素个数 print(f'列表元素到个数:{len(member)}') #查看列表中某个元素到个数 a = member.count('hasen1') print(f'查看列表中某个元素到个数:{a}') #print("查看列表中某个元素到个数:{member.count('hasen1')}")
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 列表元素到个数:3 查看列表中某个元素到个数:1
-
查找元素(index)
member = ['hasen1','hasen2','hasen3','hasen1','hasen2','hasen3','hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #查看元素到下标 b = member.index('hasen1') # 查找该元素第一次出现到下标值 print(f'查看元素第一次出现到下标值:{b}') c = member.index('hasen1',2,4) #2是开始位置,4是结束位置(查找范围包含开始位置,不包含结束位置) print(f'查看元素到下标值:{c}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3', 'hasen1', 'hasen2', 'hasen3', 'hasen1', 'hasen2', 'hasen3'] 查看元素第一次出现到下标值:0 查看元素到下标值:3
-
反转(reverse)
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #反转 member.reverse() print(f'反转后:{member}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 反转后:['hasen3', 'hasen2', 'hasen1']
-
排序(sort):正序&倒序
member = ['hasen1','hasen2','hasen3'] print(f'原始列表:{member}') #排序 member.sort() #正序 print(f'正序排序后:{member}') member.sort(reverse=True) #倒序 print(f'倒序排序后:{member}')
- 执行结果
原始列表:['hasen1', 'hasen2', 'hasen3'] 正序排序后:['hasen1', 'hasen2', 'hasen3'] 倒序排序后:['hasen3', 'hasen2', 'hasen1']