列表对象方法

已完成

Python 包括多个可用于所有列表的便捷方法。

例如,使用 append()extend() 添加到列表的末尾。 这些方法在列表上的工作方式与扩展运算符 (+=) 处理其他变量一样。

groupMembers = ['Jordan', 'Parker']
groupMembers.append('Quinn')
groupMembers

输出为:

['Jordan', 'Parker', 'Quinn']

请注意,你向 append() 传递了一个项,而不是列表。 向 append() 传递列表会生成以下结果:

groupMembers2 = ['Jordan', 'Parker', 'Quinn']
groupMembers2.append(['Stuart', 'Pete'])
groupMembers2

输出为:

['Jordan', 'Parker', 'Quinn', ['Stuart', 'Pete']]

若要将项从新列表附加现有列表的末尾,请改用 extend()

groupMembers.extend(['Stuart', 'Pete'])
groupMembers

输出为:

['Jordan', 'Parker', 'Quinn', 'Stuart', 'Pete']

index() 方法会返回列表中第一个匹配项的索引(如果项存在):

groupMembers.index('Quinn')

输出为:

2

count() 方法会返回列表中与你传入的对象匹配的项数:

groupMembers.count('Jordan')

输出为:

1

有两种方法可从列表中删除项。 第一种是 remove(),它会查找列表中第一次出现的项并将它删除(如果项存在):

groupMembers.remove('Stuart')
groupMembers

输出为:

['Jordan', 'Parker', 'Quinn', 'Pete']

要从列表中删除项,还可使用 pop() 方法。 如果向 pop() 提供索引编号,它会从列表中的该位置删除项并将它返回。 如果不指定索引,pop() 会从列表中删除最后一项并将它返回:

groupMembers.pop()

输出为:

'Pete'

insert() 方法会将项添加到列表中的特定位置:

groupMembers.insert(1, 'Riley')
groupMembers

输出为:

['Jordan', 'Riley', 'Parker', 'Quinn']

毫无疑问,reverse() 方法会将列表中项的顺序颠倒:

groupMembers.reverse()
groupMembers

输出为:

['Quinn', 'Parker', 'Riley', 'Jordan']

最后,sort() 方法会对列表中的项进行排序:

groupMembers.sort()
groupMembers

输出为:

['Jordan', 'Parker', 'Quinn', 'Riley']

亲自试一试

  • 如果运行 groupMembers.extend(groupMembers),会发生什么情况?
  • groupMembers.append(groupMembers) 又怎么样呢?

提示(展开以显示)

输入如下:

groupMembers.extend(groupMembers)
groupMembers

输出为:

['Quinn', 'Jordan', 'Parker', 'Riley', 'Quinn', 'Jordan', 'Parker', 'Riley']

下一个输入是:

groupMembers.append(groupMembers)
groupMembers

输出如下:

['Quinn', 'Jordan', 'Parker', 'Riley', ['Quinn', 'Jordan', 'Parker', 'Riley']]




注意

可为 方法提供你自己的 lambda 函数,以便在比较列表中的项时使用sort()。 我们将在后面的单元中介绍 lambda 函数。