在本教程中,您将学习如何使用 Python 列表方法在 Python 列表中添加、修改和删除元素。
当您开始使用 Python 编程时,列表是您首先学习的内置数据结构之一。在接下来的几分钟内,我们将回顾 Python 列表的基础知识,并讨论在处理列表时可以使用的一些有用的列表方法。
让我们开始吧!
Python 列表概述
在Python中,列表是相同或不同数据类型的项目的集合。您可以使用循环结构(例如 for 循环)来循环访问集合并访问项目。
与所有 Python 可迭代对象一样,列表遵循零索引并支持切片操作。
这些是可变集合,因此您可以在任何您认为合适的地方更改它们。这包括从列表中添加和删除元素、按特定顺序对元素进行排序、反转元素的顺序等。 Python 的内置列表方法可帮助您执行这些操作。
接下来,我们来看看一些有用的Python列表方法。
Python 的内置列表方法
在本节中,您将学习一些有用的列表方法。编写一个示例来查看这些列表方法的实际效果。
使用以下pgm_langs列表:这是包含常见编程语言名称的字符串列表。
pgm_langs = ['Python','Go','Rust','JavaScript'] 
使用 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'] 
使用append()将项目添加到列表中

在某些情况下,您可能需要将元素添加到列表末尾。为此,您可以使用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插入list1的index |
| 添加() | list1.append(elt) | 将elt添加到list1的末尾 |
| 拉紧() | list1.extend(list2) | 将list2中的元素添加到list1的末尾 |
| 排序 () | list1.sort() | 即时对列表进行排序 |
| 向后走 () | list1.reverse() | 现场倒转list1 |
| 复制() | list1.copy() | 返回list1的浅表副本。 |
| 数数() | list1.count(elt) | 返回list1中elt的数量。 |
| 指数() | list1.index(elt) | 返回elt在list1中的索引。 |
| 流行音乐() | list1.pop(index) | 删除index elt并返回。 |
| 消除() | list1.remove(elt) | 从list1中删除elt |
| 清除() | list1.clear() | 删除list1中的所有元素 |
结论
我们希望本教程可以帮助您了解如何使用 Python 中最常见的列表方法。下一步是了解 Python 元组以及 Python 中列表和元组之间的区别。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

