Python 中的切片问题 - 仅返回一个值[重复]

问题描述 投票:0回答:1

我正在尝试使用 Python 中的切片来打印列表中的前两个值。但是,我在输出中只得到一个值,而且我不明白为什么。这是我的代码:

a_list = [1,2,3]
b_list = a_list[1:2]
print(b_list)

我期望输出是前两个值,但相反,我得到: 输出是:

[2]

为什么输出只有

[2]
?谁能帮我理解在这种情况下切片是如何工作的?

python
1个回答
1
投票

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]
  1. ,就像
    step
    一样,你可以指定步长,例如
    [start:end:step]
    会给你
    [1,2,3,4][0:4:2]
    您可以省略切片的任何部分:
  2. [1,3]
  3. 表示
    [:4]
    [0:4]
    表示
    [0:]
    [0:last_index+1]
    表示
    [:]
    
        
© www.soinside.com 2019 - 2024. All rights reserved.