Python 容易理解的列表示例——插入、追加、长度、索引、删除、弹出

举报
Tiamo_T 发表于 2021/10/06 15:24:41 2021/10/06
【摘要】 Python 语言中的列表可以与 Java 中的数组进行比较,但它们在许多其他方面是不同的。几乎所有用 Python 编写的程序都使用列表。这里将通过实际示例了解 Python 列表。我们将在本篇中介绍以下内容:如何定义列表如何将元素添加到列表中如何访问子列表如何在列表中搜索如何从列表中删除元素运算符和列表1. 创建 Python 列表在 Python 中定义列表很容易。您只需要提供列表的名...

Python 语言中的列表可以与 Java 中的数组进行比较,但它们在许多其他方面是不同的。几乎所有用 Python 编写的程序都使用列表。这里将通过实际示例了解 Python 列表。

python

我们将在本篇中介绍以下内容:

  • 如何定义列表
  • 如何将元素添加到列表中
  • 如何访问子列表
  • 如何在列表中搜索
  • 如何从列表中删除元素
  • 运算符和列表


1. 创建 Python 列表

在 Python 中定义列表很容易。您只需要提供列表的名称并使用值对其进行初始化。以下是 Python 中的 List 示例:

>>> myList = ["The", "earth", "revolves", "around", "sun"]
>>> myList
['The', 'earth', 'revolves', 'around', 'sun']

所以你可以看到一个名为“myList”的列表是用一些元素创建的。

python 中的列表是零索引的。这意味着,您可以像访问数组一样访问列表中的单个元素。这是一个例子:

>>> myList[0]
'The'
>>> myList[4]
'sun'

不能在最右边的索引边界之外访问列表。这是一个例子:


>>> myList[5]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

所以我们看到,当我们尝试访问 myList 索引 5 时,抛出了一个错误,说这个索引超出范围。

但是,另一方面,如果您尝试访问负索引处的值,则可以向后访问最右侧索引中的值。下面是一个例子:

>>> myList[-1]
'sun'

所以我们看到索引 -1 被转换为索引 '4' 并且在输出中产生了相应的值。

2. 向列表添加元素

可以使用方法插入、追加和扩展向列表添加元素。

insert 方法需要一个索引和要插入的值。这是插入的示例:

>>> myList.insert(0,"Yes")
>>> myList
['Yes', 'The', 'earth', 'revolves', 'around', 'sun']

所以我们看到值 'yes' 被插入到列表中的索引 0 处,所有其他元素都相应地移动了。

append 方法可以将一个或多个元素作为输入并将它们附加到列表中。这是一个例子:

>>> myList.append(["a", "true"])
>>> myList
['Yes', 'The', 'earth', 'revolves', 'around', 'sun', ['a', 'true']]

因此,这两个值被附加到列表的末尾。请注意,无论我们向列表中添加一个元素还是多个元素,如果我们使用了 append 那么它们将仅作为单个元素添加。如果我们现在尝试检查 myList 的长度,就可以证明这一点:

>>> len(myList)
7

所以我们看到虽然我们添加了两个元素,但它们在 myList 中被视为单个元素(或子列表)。

可用于向列表添加元素的另一种方法是扩展。与 append 一样,它也需要一个或多个值作为输入。但是,与 append 不同的是,所有元素都作为单独的元素添加。这是一个例子:

>>> myList.extend(["statement", "for", "sure"])
>>> myList
['Yes', 'The', 'earth', 'revolves', 'around', 'sun', ['a', 'true'], 'statement', 'for', 'sure']
>>> len(myList)
10

所以我们看到每个元素都作为一个单独的元素添加到列表的末尾。

3. 从列表中切片元素

Python 还允许对列表进行切片。您可以使用索引范围访问完整列表的一部分。有多种方法可以做到这一点。这里有些例子 :

如果需要访问从索引 1 到索引 3 的子列表,则可以通过以下方式完成:

>>> myList[1:4]
['The', 'earth', 'revolves']

请注意,传递的是索引 4 而不是 3,因为如果我们传递索引范围 x:y,那么直到索引 y-1 的值都会被打印出来。

现在,如果需要访问列表的前“n”个元素,则不需要提供索引“0”,只需要“n”的值。这是一个例子:

>>> myList[:4]
['Yes', 'The', 'earth', 'revolves']

所以我们看到前三个元素被访问了。

类似地,如果需要访问最后的“n”个元素,则只需要起始索引。这是一个例子:

>>> myList[4:]
['around', 'sun', ['a', 'true'], 'statement', 'for', 'sure']

所以我们看到显示了从索引 4 开始到列表末尾的所有元素。

如果既没有提供起始索引,也没有提供结束索引,则显示完整列表。这是一个例子:

>>> myList[:]
['Yes', 'The', 'earth', 'revolves', 'around', 'sun', ['a', 'true'], 'statement', 'for', 'sure']

4. 搜索列表并查找元素

使用期望要搜索的值的 index 方法可以很容易地搜索列表中的值。输出是保留值的索引。

这是一个例子:

在这里,我们尝试在列表中搜索值 'revolves'。

>>> myList.index("revolves")
3

所以我们看到输出中显示了相应的索引。

如果未找到某个值,则会显示错误。这是一个例子:

>>> myList.index("a")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'a' is not in list

以下是搜索子列表的方法:

>>> myList.index(["a", "true"])
6

如果只需要一个元素是否存在于列表中,可以通过以下方式完成:

>>> "sun" in myList
True

所以我们看到 'True' 被返回,因为 'sun' 出现在列表中。

5. 从列表中删除元素

Python 提供了 remove 方法,我们可以通过它从列表中删除元素。它期望需要删除的值。

这里有些例子 :

>>> myList
['Yes', 'The', 'earth', 'revolves', 'around', 'sun', ['a', 'true'], 'statement', 'for', 'sure']
>>> myList.remove("Yes")
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', ['a', 'true'], 'statement', 'for', 'sure']
>>> myList.remove("statement")
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', ['a', 'true'], 'for', 'sure']

在这里我们看到 remove 可以用来轻松删除列表中的元素。

以下是删除子列表的方法:

>>> myList.remove(["a", "true"])
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for', 'sure']

所以我们看到子列表被从原始列表中删除了。

如果需要访问最后一个元素然后删除它,可以通过 pop 方法来完成。

>>> myList.pop()
'sure'
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for']

所以我们看到该值同时显示和删除。

6. Python 列表运算符

Python 允许使用诸如 +、* 等数学运算符与列表一起使用。

这里有些例子 :

>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for']
>>> myList = myList + ["sure"]
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for', 'sure']
>>> myList += ["."]
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for', 'sure', '.']
>>> myList *= 2
>>> myList
['The', 'earth', 'revolves', 'around', 'sun', 'for', 'sure', '.', 'The', 'earth', 'revolves', 'around', 'sun', 'for', 'sure', '.']

所以我们看到可以通过 + 运算符将元素添加到列表中,而通过 * 运算符我们可以在末尾重复添加完整的列表。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。