检索 Python 中的列表元素

Retrieving list elements in Python

我是初学者,正在尝试学习 Python。我正在熟悉列表数据类型;我定义了以下列表:

>>> numbers = [1, 2, 3, 4]

正在输入:

>>> numbers[0]
1
>>> numbers[1]
2
>>> numbers[2]
3
>>> numbers[3]
4

鉴于此,为什么我在尝试检索以下列表元素时会得到以下信息:

>>> numbers[0:3]
[1, 2, 3]

为什么解释器的响应中不包含列表元素“4”?

感谢您的帮助。

切片符号不包括最后一个元素(在这方面类似于 range() 函数)。如果要包含最后一个元素,只需省略索引即可。此外,默认开始是开始,因此您也不需要 0

>>> numbers[:]
[1, 2, 3, 4]

请注意,这是 numbers 的(浅)副本。如果保存对它的引用,则可以在不影响原始 numbers.

的情况下对其进行变异

这就是 Python 中切片的工作原理。引用一个tutorial:

Note how the start is always included, and the end always excluded. This makes sure that s[:i] + s[i:] is always equal to s.

该示例使用字符串,但切片的工作方式与列表相同。

numbers[0:3] 从 0 到 3 的列表,但排除了 3(如 range(0,3))