zhcn 编程语言 Java Java 流程控制语句 11 个必须了解的 Python 列表方法

11 个必须了解的 Python 列表方法

在本教程中,您将学习如何使用 Python 列表方法在 Python 列表中添加、修改和删除元素。

当您开始使用 Python 编程时,列表是您首先学习的内置数据结构之一。在接下来的几分钟内,我们将回顾 Python 列表的基础知识,并讨论在处理列表时可以使用的一些有用的列表方法。

让我们开始吧!

Python 列表概述

在Python中,列表是相同或不同数据类型的项目的集合。您可以使用循环结构(例如 for 循环)来循环访问集合并访问项目。

与所有 Python 可迭代对象一样,列表遵循零索引并支持切片操作。

这些是可变集合,因此您可以在任何您认为合适的地方更改它们。这包括从列表中添加和删除元素、按特定顺序对元素进行排序、反转元素的顺序等。 Python 的内置列表方法可帮助您执行这些操作。

接下来,我们来看看一些有用的Python列表方法。

Python 的内置列表方法

在本节中,您将学习一些有用的列表方法。编写一个示例来查看这些列表方法的实际效果。

使用以下pgm_langs列表:这是包含常见编程语言名称的字符串列表。

 pgm_langs = ['Python','Go','Rust','JavaScript'] 
11 个必须了解的 Python 列表方法
11 个必须了解的 Python 列表方法

使用 insert() 插入列表项

有时您想在特定索引处插入元素。为此,您可以使用insert()方法。对insert()列表方法的调用包括:

  • 插入元素的索引,以及
  • 要插入的元素。

让我们使用index()方法在索引 1 处插入“Scala”。

 pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript'] 
11 个必须了解的 Python 列表方法
11 个必须了解的 Python 列表方法

使用append()将项目添加到列表中

Python-列表-方法-1
Python-列表-方法-1

在某些情况下,您可能需要将元素添加到列表末尾。为此,您可以使用append()方法。

让我们使用append()方法将字符串“Java”添加到列表末尾。

 pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

使用extend()添加Iterable

您可能知道可以使用append()方法添加单个项目。但是,如果您想向现有列表(例如项目列表)添加多个项目,该怎么办? extend()方法提供了执行此操作的简洁语法。

让我们使用extend()方法将列表more_langs的元素添加到pgm_langs列表中。

 more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

您可以循环遍历项目列表并使用append()方法一次添加一项。然而,这是多余的。使用extend()方法更方便。

 for lang in more_langs:
    pgm_langs.append(lang)

使用reverse()反转列表

要反转列表中元素的顺序,请调用reverse()方法。

您可以看到pgm_langs列表是相反的。

 pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

另请阅读如何在 Python 中翻转列表并沿相反方向旋转它。

使用 sort() 对列表进行排序

对列表进行排序和排序
对列表进行排序和排序

sort()方法允许您即时对 Python 列表进行排序。您可以看到,由于pgm_langs是一个字符串列表,因此排序是按字母顺序完成的。

 pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

要按逆字母顺序对列表进行排序,请在sort()方法调用中将reverse参数设置为True

 pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

了解有关 Python 列表排序的更多信息。

使用 copy() 创建浅拷贝

修改原始列表的副本可能比修改原始列表本身更有帮助。 List 方法copy()返回 Python 列表的浅表副本

让我们创建pgm_langs列表的浅表副本并将其命名为pgm_langs_copy 。然后将列表的第一个元素设置为“Haskell”并打印它。

 pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
 print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

但是,您可以看到pgm_langs列表没有变化。因此,创建浅拷贝并修改它不会改变原始列表。

 print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

使用 count() 获取项目数

有时,了解特定元素在列表中出现的次数很有用。 count()方法返回元素在列表中出现的次数。

每个元素在pgm_langs列表中只出现一次。因此,当我尝试计算“Go”的计数时,我得到了正确的 1。

 print(pgm_langs.count('Go'))
# Output: 1

使用count()方法是从 Python 列表中删除重复项的一种方法。

使用 Index() 获取项目的索引

要查找 Python 列表中项目的索引,可以使用index()方法。假设您想在pgm_langs列表中查找“C#”的索引。您可以使用assert语句来验证索引 7 处的元素是否为“C#”。

 print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

使用 Pop() 删除索引处的项目

接下来,我们看一下从 Python 列表中删除元素的 list 方法。 pop()方法用于删除并返回特定索引处的元素。从前面的代码示例中,我们可以看到“C#”是索引 7 处的语言。

您可以看到,以 7 作为索引调用pgm_langs列表的pop()方法会返回索引 7 处的元素“C#”,并将其从列表中删除。

 print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

因此, pop()方法删除并返回指定索引处的元素。但是,指定索引是可选的。如果不指定索引, pop()方法将删除并返回 Python 列表的最后一个元素,如下所示。

 print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

使用Remove()删除项目

通过删除删除项目
通过删除删除项目

有时您知道要删除哪个元素,但不知道其索引。在这种情况下,您可以使用remove()方法。此方法接收要删除的元素并将其删除。让我们使用remove()方法从pgm_langs列表中删除“Java”,如下所示。

 pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

使用clear()删除所有项目

如果要从 Python 列表中删除所有项目,可以循环遍历列表并使用remove()方法删除每个元素,如下所示:

 for lang in pgm_langs:
    pgm_langs.remove(lang)

但是有更好的方法吗?是的,使用clear()方法。您可以看到,在pgm_langs列表上调用 clear 方法会删除所有元素,使pgm_langs成为一个空列表。

 pgm_langs.clear()
print(pgm_langs)
# Output: []

Python 列表方法概述

让我们简单总结一下各种列表方法及其语法。

列表法句法解释
普京() list1.insert(index, elt)elt插入list1index
添加() list1.append(elt)elt添加到list1的末尾
拉紧() list1.extend(list2)list2中的元素添加到list1的末尾
排序 () list1.sort()即时对列表进行排序
向后走 () list1.reverse()现场倒转list1
复制() list1.copy()返回list1的浅表副本。
数数() list1.count(elt)返回list1elt的数量。
指数() list1.index(elt)返回eltlist1中的索引。
流行音乐() list1.pop(index)删除index elt并返回。
消除() list1.remove(elt)list1中删除elt
清除() list1.clear()删除list1中的所有元素

结论

我们希望本教程可以帮助您了解如何使用 Python 中最常见的列表方法。下一步是了解 Python 元组以及 Python 中列表和元组之间的区别。

在本教程中,您将学习如何使用 Python 列表方法在 Python 列表中添加、修改和删除元素。

当您开始使用 Python 编程时,列表是您首先学习的内置数据结构之一。在接下来的几分钟内,我们将回顾 Python 列表的基础知识,并讨论在处理列表时可以使用的一些有用的列表方法。

让我们开始吧!

Python 列表概述

在Python中,列表是相同或不同数据类型的项目的集合。您可以使用循环结构(例如 for 循环)来循环访问集合并访问项目。

与所有 Python 可迭代对象一样,列表遵循零索引并支持切片操作。

这些是可变集合,因此您可以在任何您认为合适的地方更改它们。这包括从列表中添加和删除元素、按特定顺序对元素进行排序、反转元素的顺序等。 Python 的内置列表方法可帮助您执行这些操作。

接下来,我们来看看一些有用的Python列表方法。

Python 的内置列表方法

在本节中,您将学习一些有用的列表方法。编写一个示例来查看这些列表方法的实际效果。

使用以下pgm_langs列表:这是包含常见编程语言名称的字符串列表。

 pgm_langs = ['Python','Go','Rust','JavaScript'] 
11 个必须了解的 Python 列表方法
11 个必须了解的 Python 列表方法

使用 insert() 插入列表项

有时您想在特定索引处插入元素。为此,您可以使用insert()方法。对insert()列表方法的调用包括:

  • 插入元素的索引,以及
  • 要插入的元素。

让我们使用index()方法在索引 1 处插入“Scala”。

 pgm_langs = ['Python','Go','Rust','JavaScript']
pgm_langs.insert(1,'Scala')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript'] 
11 个必须了解的 Python 列表方法
11 个必须了解的 Python 列表方法

使用append()将项目添加到列表中

Python-列表-方法-1
Python-列表-方法-1

在某些情况下,您可能需要将元素添加到列表末尾。为此,您可以使用append()方法。

让我们使用append()方法将字符串“Java”添加到列表末尾。

 pgm_langs.append('Java')
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java']

使用extend()添加Iterable

您可能知道可以使用append()方法添加单个项目。但是,如果您想向现有列表(例如项目列表)添加多个项目,该怎么办? extend()方法提供了执行此操作的简洁语法。

让我们使用extend()方法将列表more_langs的元素添加到pgm_langs列表中。

 more_langs = ['C++','C#','C']
pgm_langs.extend(more_langs)
print(pgm_langs)
# Output: ['Python', 'Scala', 'Go', 'Rust', 'JavaScript', 'Java', 'C++', 'C#', 'C']

您可以循环遍历项目列表并使用append()方法一次添加一项。然而,这是多余的。使用extend()方法更方便。

 for lang in more_langs:
    pgm_langs.append(lang)

使用reverse()反转列表

要反转列表中元素的顺序,请调用reverse()方法。

您可以看到pgm_langs列表是相反的。

 pgm_langs.reverse()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Java', 'JavaScript', 'Rust', 'Go', 'Scala', 'Python']

另请阅读如何在 Python 中翻转列表并沿相反方向旋转它。

使用 sort() 对列表进行排序

对列表进行排序和排序
对列表进行排序和排序

sort()方法允许您即时对 Python 列表进行排序。您可以看到,由于pgm_langs是一个字符串列表,因此排序是按字母顺序完成的。

 pgm_langs.sort()
print(pgm_langs)
# Output: ['C', 'C#', 'C++', 'Go', 'Java', 'JavaScript', 'Python', 'Rust', 'Scala']

要按逆字母顺序对列表进行排序,请在sort()方法调用中将reverse参数设置为True

 pgm_langs.sort(reverse=True)
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

了解有关 Python 列表排序的更多信息。

使用 copy() 创建浅拷贝

修改原始列表的副本可能比修改原始列表本身更有帮助。 List 方法copy()返回 Python 列表的浅表副本

让我们创建pgm_langs列表的浅表副本并将其命名为pgm_langs_copy 。然后将列表的第一个元素设置为“Haskell”并打印它。

 pgm_langs_copy = pgm_langs.copy()
pgm_langs_copy[0]='Haskell'
 print(pgm_langs_copy)
# Output: ['Haskell', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

但是,您可以看到pgm_langs列表没有变化。因此,创建浅拷贝并修改它不会改变原始列表。

 print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C#', 'C']

使用 count() 获取项目数

有时,了解特定元素在列表中出现的次数很有用。 count()方法返回元素在列表中出现的次数。

每个元素在pgm_langs列表中只出现一次。因此,当我尝试计算“Go”的计数时,我得到了正确的 1。

 print(pgm_langs.count('Go'))
# Output: 1

使用count()方法是从 Python 列表中删除重复项的一种方法。

使用 Index() 获取项目的索引

要查找 Python 列表中项目的索引,可以使用index()方法。假设您想在pgm_langs列表中查找“C#”的索引。您可以使用assert语句来验证索引 7 处的元素是否为“C#”。

 print(pgm_langs.index('C#'))
# Output: 7
assert pgm_langs[7] == 'C#'

使用 Pop() 删除索引处的项目

接下来,我们看一下从 Python 列表中删除元素的 list 方法。 pop()方法用于删除并返回特定索引处的元素。从前面的代码示例中,我们可以看到“C#”是索引 7 处的语言。

您可以看到,以 7 作为索引调用pgm_langs列表的pop()方法会返回索引 7 处的元素“C#”,并将其从列表中删除。

 print(pgm_langs.pop(7))
# Output: 'C#'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++', 'C']

因此, pop()方法删除并返回指定索引处的元素。但是,指定索引是可选的。如果不指定索引, pop()方法将删除并返回 Python 列表的最后一个元素,如下所示。

 print(pgm_langs.pop())
# Output: 'C'
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Java', 'Go', 'C++']

使用Remove()删除项目

通过删除删除项目
通过删除删除项目

有时您知道要删除哪个元素,但不知道其索引。在这种情况下,您可以使用remove()方法。此方法接收要删除的元素并将其删除。让我们使用remove()方法从pgm_langs列表中删除“Java”,如下所示。

 pgm_langs.remove('Java')
print(pgm_langs)
# Output: ['Scala', 'Rust', 'Python', 'JavaScript', 'Go', 'C++']

使用clear()删除所有项目

如果要从 Python 列表中删除所有项目,可以循环遍历列表并使用remove()方法删除每个元素,如下所示:

 for lang in pgm_langs:
    pgm_langs.remove(lang)

但是有更好的方法吗?是的,使用clear()方法。您可以看到,在pgm_langs列表上调用 clear 方法会删除所有元素,使pgm_langs成为一个空列表。

 pgm_langs.clear()
print(pgm_langs)
# Output: []

Python 列表方法概述

让我们简单总结一下各种列表方法及其语法。

列表法句法解释
普京() list1.insert(index, elt)elt插入list1index
添加() list1.append(elt)elt添加到list1的末尾
拉紧() list1.extend(list2)list2中的元素添加到list1的末尾
排序 () list1.sort()即时对列表进行排序
向后走 () list1.reverse()现场倒转list1
复制() list1.copy()返回list1的浅表副本。
数数() list1.count(elt)返回list1elt的数量。
指数() list1.index(elt)返回eltlist1中的索引。
流行音乐() list1.pop(index)删除index elt并返回。
消除() list1.remove(elt)list1中删除elt
清除() list1.clear()删除list1中的所有元素

结论

我们希望本教程可以帮助您了解如何使用 Python 中最常见的列表方法。下一步是了解 Python 元组以及 Python 中列表和元组之间的区别。