您好,欢迎访问沈阳东软睿道!

18842584021

全国咨询热线

您现在所在位置:主页 > 通知资讯 >

Python操作列表常见问答Top10

更新时间:2020-10-14

Python操作列表常见问答Top10
  列表是常用的数据类型之一,本文整理了StackOverflow上关于列表操作被访问多的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-->45
 
  enumerate还能够指定元素的第一个元素从几刚开始,默认设置是0,还可以指定从1刚开始:
 
  forindex,iteminenumerate(items,start=1):print(index,"-->",item)>>>1-->82-->233-->45
 
  2、append与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]#等额的于:foriiny:x.append(i)
 
  3、查验列表是不是为空
 
  普通版:
 
  iflen(items)==0:print("空列表")或是ifitems==[]:print("空列表")
 
  雅致版:
 
  ifnotitems:print("空列表")
 
  4、怎样看待切成片
 
  切成片用以获得列表中指定范的非空子集,英语的语法比较简单
 
  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]#第三到第八位置中间的元素[4,5,6,7,8]>>>a[3:8:2]#第三到第八位置中间的元素,每过一个元素获得[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]10
 
  7、如何对列表开展排序
 
  列表排序有二种方法,一种是列表内置的方法sort,一种是内建函数sorted。繁杂的数据类型可根据指定key主要参数开展排序。由字典组成的列表,根据字典元素中的age字段名开展排序:
 
  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'}]
 
  列表有sort方式 ,用以对原列表开展再次排序,指定key主要参数,key是匿名函数,item是列表中的字典元素,大家根据字典中的age开展排序,默认设置是按升序排序,指定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','age':10},{'name':'cater','age':20},{'name':'Homer','age':39}]
 
  8、如何移除列表中的元素
 
  删掉列表中的元素有三种方法
 
  remove移除某一元素,并且只有移除第一次出現的元素
 
  >>>a=[0,2,2,3]>>>a.remove(2)>>>a[0,2,3]#如果要移除的元素不在列表中,则抛出ValueError异常>>>a.remove(7)Traceback(mostrecentcalllast):File"",line1,inValueError:list.remove(x):xnotinlist·
 
  del根据指定的位置移除某元素
 
  >>>a=[3,2,2,1]#移除第一个元素>>>dela[1][3,2,1]#当超出列表的下表索引时,抛出IndexError的异常>
 

在线客服

ONLINE SERVICE

联系电话

18842584021

返回顶部