列表常用方法(一)

154 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情

列表,元组,字典,集合,字符串等python序列有很多操作是通用的,不同类型的序列又有一些特有的方法或者支持某些特有运算符和内置函数。

列表对象常用方法

append(x)

将x追加至列表尾部。

extend(L)

将列表L中的所有元素追加至列表尾部

insert(index,x)

在列表index位置处插入x,该位置后面的所有元素后移并且在列表中的索引加1,如果index为正数且大于列表长度则在列表尾部追加x,如果index为负数且小于列表长度的相反数则在列表头部插入元素x

remove(x)

在列表中删除第一个值为x的元素,该元素之后所有元素前移并且索引减一,如果列表中不存在x则抛出异常

pop([index])

删除并返回列表中下标为index的元素,如果不指定index则默认为-1,弹出最后一个元素;如果弹出中间位置的元素则后面的元素索引减1;如果index不是[-L,L]区间的整数则抛出异常,L表示列表长度。

clear()

清空列表,删除列表中的所有元素,保留列表对象

index(x)

返回列表中第一个值为x的元素的索引,若不存在的值为x的元素则抛出异常

count(x)

返回x在列表中出现的次数

reverse()

对列表所有元素进行原地逆序,首尾交换

sort(key=None,reverse=False)

对列表中的元素进行原地排序,key用来指定排序规则,reverse为False表示升序,True表示降序

copy()

返回列表的浅复制

append(),insert(),extend()详细介绍

这三个方法都可以用于向列表对象中添加元素,其中append()用于向列表尾部追加一个元素, insert()用于向列表任意指定位置插入一个元素,extend()用于将另一个可迭代对象中所有元素追加至当前列表尾部。这3个方法都属于原地操作,不影响列表对象在内存中的起始地址。对于长列表而言,使用insert()方法在列表首部或中间位置插入元素时效率较低。如果确实需要在首部按序插入多个元素,可以先在尾部追加,然后使用reverse()方法进行翻转,或者考虑使用标准库collections中的双端队列deque对象提供的appendleft()方法。

>>> x=[1,2,3]
>>> id(x)  #查看对象的内存地址
50159368
>>> x.append(4)   #在尾部追加元素
>>> x.insert(0,0)   #在指定位置插入元素
>>> x.extend([5,6,7])   #在尾部追加多个元素
>>> x
[0,1,2,3,4,5,6,7]
>>> id(x)   #列表在内存中的地址不变
50159368