Python 容易理解的列表示例——插入、追加、长度、索引、删除、弹出
Python 语言中的列表可以与 Java 中的数组进行比较,但它们在许多其他方面是不同的。几乎所有用 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', '.']
所以我们看到可以通过 + 运算符将元素添加到列表中,而通过 * 运算符我们可以在末尾重复添加完整的列表。
- 点赞
- 收藏
- 关注作者
评论(0)