检索 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))
我是初学者,正在尝试学习 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 tos
.
该示例使用字符串,但切片的工作方式与列表相同。
numbers[0:3] 从 0 到 3 的列表,但排除了 3(如 range(0,3))