欢迎来到Python教程自学网!
当前位置: 首页 > Python基础教程 > python列表常用方法快速攻略

python列表常用方法快速攻略

   

python列表常用方法快速攻略

python列表除了增加元素、删除元素、修改元素方法之外,还包含了一些常用的方法。

例如,在交互式解释器中输入 dir(list) 即可看到列表包含的所有方法,如下所示:

>>> dir(list)
['append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>>>

在上面输出结果中己经剔除了那些以双下画线开头的方法。按照约定,这些方法都具有特殊的意义,不希望被用户直接调用。

上面有些方法前面己经介绍过了,列表还包含如下常用方法可以使用:

count():用于统计列表中某个元素出现的次数。

index():用于判断某个元素在列表中出现的位置。

pop():用于将列表当成“栈”使用,实现元素出栈功能。

reverse():用于将列表中的元素反向存放。

sort():用于对列表元素排序。

count()用法

下面代码示范了 count() 方法的用法:

a_list = [2, 30, 'a', [5, 30], 30]
# 计算列表中30的出现次数
print(a_list.count(30)) # 2
# 计算列表中[5, 30]的出现次数
print(a_list.count([5, 30])) # 1

index用法

index() 方法则用于定位某个元素在列表中出现的位置,如果该元素没有出现,则会引发 ValueError 错误。在使用 index() 方法时还可传入 start、end 参数,用于在列表的指定范围内搜索元素。

如下代码示范了 index() 方法的用法:

a_list = [2, 30, 'a', 'b', 'crazyit', 30]
# 定位元素30的出现位置
print(a_list.index(30)) # 1
# 从索引2处开始、定位元素30的出现位置
print(a_list.index(30, 2)) # 5
# 从索引2处到索引4处之间定位元素30的出现位置,找不到该元素
print(a_list.index(30, 2, 4)) # ValueError

pop()用法

pop() 方法用于实现元素出栈功能。栈是一种特殊的数据结构,它可实现先入后出(FILO)功能,即先加入栈的元素,反而后出栈。

在其他编程语言所实现的“栈”中,往往会提供一个 push() 方法,用于实现入栈操作,但 Python 的列表并没有提供 push() 方法,我们可以使用 append() 方法来代替 push() 方法实现入栈操作。

下面代码示范了使用列表作为“栈”的示例:

stack = []
# 向栈中“入栈”3个元素
stack.append("fkit")
stack.append("crazyit")
stack.append("Charlie")
print(stack) # ['fkit', 'crazyit', 'Charlie']
# 第一次出栈:最后入栈的元素被移出栈
print(stack.pop())
print(stack) # ['fkit', 'crazyit']
# 再次出栈
print(stack.pop())
print(stack) # ['fkit']

reverse()用法

reverse() 方法会将列表中所有元素的顺序反转。例如如下代码:

a_list = list(range(1, 8))
# 将a_list列表元素反转
a_list.reverse()
print(a_list) # [7, 6, 5, 4, 3, 2, 1]

sort()用法

sort() 方法用于对列表元素进行排序。例如如下代码:

a_list = [3, 4, -2, -30, 14, 9.3, 3.4]
# 对列表元素排序
a_list.sort()
print(a_list) #[-30, -2, 3, 3.4, 4, 9.3, 14]
b_list = ['Python', 'Swift', 'Ruby', 'Go', 'Kotlin', 'Erlang']
# 对列表元素排序:默认按字符串包含的字符的编码大小比较
b_list.sort()
print(b_list) # ['Erlang', 'Go', 'Kotlin', 'Python', 'Ruby', 'Swift']

sort() 方法除支持默认排序之外,还可传入 key 和 reverse 两个参数,而且这两个参数必须通过参数名指定(这种参数叫关键字参数,后续章节会详细介绍):

key 参数用于为每个元素都生成一个比较大小的“键”;

reverse 参数则用于执行是否需要反转排序,默认是从小到大排序;如果将该参数设为 True,将会改为从大到小排序。