我正试图从一个列表中建立索引。我知道负指数指的是从列表末尾开始倒数的项目。我的问题是,为什么在从负指数到正指数的范围内建立指数似乎是不可能的,尽管这看起来很直观。你知道吗
例如,foo[-1]、foo[0]、foo[1]都是从列表foo索引的有效方法。为什么foo[-1:1]不起作用? 或者,既然foo[-1:]选择了最后一个元素,为什么foo[-1:0]不能等价地工作?你知道吗
foo = ['a','b','c']
print(foo[-1])
print(foo[0])
print(foo[1])
print(foo[-1:1])
可以直接从-1、0和1索引,但不能通过-1:1的范围。你知道吗
据我所知,你在找这样的东西:
我猜你投了反对票,因为这是一个相当模糊的问题。“为什么?”类型问题的回答可能有问题-这可能是一个工程决策。您可以让它自动地这样运行,但是在查询
a[b:c]
时需要检查b > c
(请记住,示例中的-1
实际上是len(a) - 1
)。考虑到您将使用这样的东西的情况,以及检查的成本,他们可能选择不实现这样的东西。你知道吗你能做到的
输出:
['c']
切片使用
foo[start:end:step]
你可以做
foo[::-1]
来反转列表等等这将打印
foo
中的所有元素即
这将打印
foo
中的最后两个元素即
这就是它的工作原理
相关问题 更多 >
编程相关推荐