我正在尝试使用 Python 中的切片来打印列表中的前两个值。但是,我在输出中只得到一个值,而且我不明白为什么。这是我的代码:
a_list = [1,2,3]
b_list = a_list[1:2]
print(b_list)
我期望输出是前两个值,但相反,我得到: 输出是:
[2]
为什么输出只有
[2]
?谁能帮我理解在这种情况下切片是如何工作的?
Python 中的
:
是什么? 它是一个用于切片列表的运算符,它是 slice(start, end, step)
函数的别名。
我如何使用它以及它是如何工作的?当您将它与诸如
[1,2,3]
之类的列表一起使用时,您将获得从第0个到第一个的所有元素。事实上,2 被排除在外。请注意数组索引从 0 开始,因此 1 是列表的第 0 个元素:
[1,2,3][0:2]
如果你想获取所有元素,你可以使用
[1,2,3][0] == 1 # True
。
还有两点:还有另一部分:
[1,2,3][0:3]
step
一样,你可以指定步长,例如[start:end:step]
会给你[1,2,3,4][0:4:2]
您可以省略切片的任何部分:[1,3]
[:4]
,[0:4]
表示[0:]
,[0:last_index+1]
表示[:]