Python中numbers[numbers[1]]为何返回8?列表是否在自切片?
列表嵌套索引的问题解答
先看你给出的代码:
numbers = [2,3,5,8] print(numbers[numbers[1]])
这段代码返回8的原因是分步执行的:
- 先计算内层的
numbers[1]:Python列表索引从0开始,索引1对应的元素是3。 - 再把这个结果代入外层,变成
numbers[3],索引3对应的元素就是8,所以最终输出8。
你提到的numbers[:]、numbers[:-1]属于列表切片,这类写法用冒号指定取值范围,和numbers[numbers[1]]完全是两回事——这不是自切片,而是嵌套索引:用一个索引操作的结果作为另一个索引操作的参数,本质还是普通的按索引取值,和切片没有关系。
内容的提问来源于stack exchange,提问作者user716255
相关产品推荐
相关产品推荐

