列表是Python中使用最多的数据结果。如何高效地操作链表是提高代码运行效率的关键。本文列举了10种常用的列表操作,希望对你有所帮助。1、迭代列表时如何访问普通版本的列表下标索引:items=[8,23,45]forindexinrange(len(items)):print(index,"-->",items[index])>>>0-->81-->232-->45优雅版:forindex,iteminenumerate(items):print(index,"-->",item)>>>0-->81-->232-->45enumerate也可以指定元素的第一个元素从哪里开始,默认为0,也可以指定从1开始:forindex,iteminenumerate(items,start=1):print(index,"-->",item)>>>1-->82-->233-->452append和extend方法有什么区别append的意思是追加某条数据作为一个新的元素到列表的末尾,它的参数可以是任何对象x=[1,2,3]y=[4,5]x.append(y)print(x)>>>[1,2,3,[4,5]]extend的参数必须是一个可迭代对象,也就是说对象中的所有元素都被一个一个追加到列表的后面x=[1,2,3]y=[4,5]x.extend(y)print(x)>>>[1,2,3,4,5]#等价tto:foriiny:x.append(i)3.检查列表是否为空普通版:iflen(items)==0:print("emptylist")orifitems==[]:print("emptylist")优雅版:ifnotitems:print("emptylist")4.如何理解sliceslices用于获取列表中指定范围的子集,语法很简单items[start:end:step]元素从start到end-1的位置。step表示步长,默认为1,表示连续获取,如果step为2,表示每隔一个元素获取一次。a=[1,2,3,4,5,6,7,8,9,10]>>>a[3:8]#第3和第8位置之间的元素[4,5,6,7,8]>>>a[3:8:2]#第3和第8位置之间的元素,每隔一个元素获取[4,6,8]>>>a[:5]#省略start表示从第0个元素开始[1,2,3,4,5]>>>a[3:]#省略end表示最后一个元素[4,5,6,7,8,9,10]>>>a[::]#两者都省略相当于复制一个列表,是浅拷贝[1,2,3,4,5,6,7,8,9,10]5.如何复制一个列表对象第一种方法:new_list=old_list[:]第二种方法:new_list=list(old_list)第三种方法:importcopy#浅拷贝new_list=copy.copy(old_list)#深拷贝new_list=copy.deepcopy(old_list)6。如何获取列表中最后一个元素的索引列表中的元素不仅支持正数,还支持负数。正数表示从列表左侧开始索引,负数表示从列表右侧开始索引。获取最后一个元素的方法有两种。>>>a=[1,2,3,4,5,6,7,8,9,10]>>>a[len(a)-1]10>>>a[-1]107.如何列表排序列表排序有两种方式,一种是列表自带的sort,一种是内置函数sorted。复杂数据类型可以通过指定key参数进行排序。字典列表,根据字典元素中的年龄字段排序:items=[{'name':'Homer','age':39},{'name':'Bart','age':10},{"name":'cater','age':20}]items.sort(key=lambdaitem:item.get("age"))print(items)>>>[{'age':10,'name':'Bart'},{'age':20,'name':'cater'},{'age':39,'name':'Homer'}]该列表有一个排序方法,用于对originalReorderthelist,指定key参数,key为匿名函数,item为列表中的字典元素。我们根据字典中的年龄排序。默认是按升序排序。指定reverse=True以降序排序。items.sort(key=lambdaitem:item.get("age"),reverse=True)>>>[{'name':'Homer','age':39},{'name':'cater','age':20},{'name':'Bart','age':10}]如果不想改变原来的列表,而是生成一个新的有序列表对象,可以使用内置的函数sorted,它返回一个新列表items=[{'name':'Homer','age':39},{'name':'Bart','age':10},{"name":'cater','age':20}]new_items=sorted(items,key=lambdaitem:item.get("age"))print(items)>>>[{'name':'Homer','age':39},{'name':'Bart','age':10},{'name':'cater','age':20}]print(new_items)>>>[{'name':'Bart','年龄':10},{'姓名e':'cater','age':20},{'name':'Homer','age':39}]8.如何删除列表中的元素删除列表中元素的方法有3种remove一个元素,并且只能移除第一次出现的元素>>>a=[0,2,2,3]>>>a.remove(2)>>>a[0,2,3]#如果要删除的元素不在列表中,则抛出ValueError异常>>>a.remove(7)Traceback(mostrecentcalllast):File"
