手记

总结:11个Python3列表内置方法大全及示例

概述

Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚至列表,字典等等,自由度提升到一个新的高度,而Python也提供了大量列表相关的内置方法来有效操作列表:

方法 描述
append 将单个对象添加至列表末尾
clear 删除列表中所有项目
copy 列表的浅拷贝,参见上篇文章《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
count 统计指定对象在列表中出现的次数
extend 通过附加iterable(比如列表,元组)中的元素来扩展列表,可以实现浅复制
index index(self, value, start=None, stop=None) 使用方法和字符串中的index一致,即寻找列表中出现指定对象的第一个索引,可以利用start=None, stop=None指定索引区间(切片),例中即在L中寻找对象元素1,索引范围L[3:-1]
insert insert(self, index, p_object) 在索引之前插入对象
pop pop(self, index=None)删除并返回索引处的项目(默认为最后一个元素)。 如果list为空或索引超出范围,则引发IndexError异常。 可以配合append实现栈
remove remove(self, value) 删除第一次出现的执行对象。如果值不存在,则引发ValueError
reverse 反转列表,效果和L[::-1]一致,但是reverse是在列表原处改变
sort sort(cmp=None, key=None, reverse=False) 对列表内的元素排序,cmp – 可选参数, 如果指定了该参数会使用该参数的方法进行排序。key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。排序规则,reverse = True 降序, reverse = False 升序(默认)

示例代码

import copy
L = [1, 'S', [33, 'Py'], False, 1, 3]

print(L)

# append|将单个对象添加至列表末尾
L1 = copy.deepcopy(L)
L1.append('end')
print(L1)

# clear|删除列表中所有项目
L2 = copy.deepcopy(L)
L2.clear()
print(L2)

# copy|列表的浅拷贝,参见上篇文章《Python列表赋值,复制,深拷贝以及5种浅拷贝详解》
L3 = copy.deepcopy(L)
L33 = []
L33 = L3.copy()
print(L3)
L33[2][0] = 'shallow copy'
print(L3)

# count|统计指定对象在列表中出现的次数
L4 = copy.deepcopy(L)
one_count = L4.count(1)
print(one_count)

# extend|通过附加iterable(比如列表,元组)中的元素来扩展列表,可以实现浅复制
L5 = []
L5.extend(L)
print(L5)

# index| index(self, value, start=None, stop=None) 使用方法和字符串中的index一致,即寻找列表中出现指定对象的第一个索引,可以利用`start=None, stop=None`指定索引区间(切片)
# 例中即在L中寻找对象元素1,索引范围L[3:-1]
index = L.index(1, 3, -1)
print(index)

# insert| insert(self, index, p_object) 在索引之前插入对象
L7 = copy.deepcopy(L)
L7.insert(1, 'new_insert')
print(L7)

# pop| pop(self, index=None)删除并返回索引处的项目(默认为最后一个元素)。 如果list为空或索引超出范围,则引发IndexError异常。 可以配合append实现栈
L8 = copy.deepcopy(L)
last = L8.pop()
print(L8)
print(last)
s_index = L8.pop(0)
print(L8)
print(s_index)

# remove|remove(self, value) 删除第一次出现的执行对象。如果值不存在,则引发ValueError。
L9 = copy.deepcopy(L)
L9.remove('S')
print(L9)

# reverse|反转列表,效果和L[::-1]一致,但是reverse是在列表原处改变
L10 = copy.deepcopy(L)
L10.reverse()
print(L10)
print(L10[::-1])

# 

示例结果:

0人推荐
随时随地看视频
慕课网APP