【发布时间】:2020-05-15 10:03:24
【问题描述】:
我编写了一个程序来计算列表中缺失的数字。输入数组编号从 1 到 n,除了某个数字。
我已经解决了这个程序,但我并不完全理解它是如何工作的。
在下面的程序中,为什么我们必须在num_list[-1]+1 中加上+1?
这是我的代码:
num_list =[1,2,3,4,6,7]
t = sum(range(num_list[0],num_list[-1]+1)) - sum(num_list)
print(t)
这是输出:
5
【问题讨论】:
-
num_list[0]是1。num_list[-1]是7。num_list[-1] + 1是8。总的来说,它相当于range(1, 8)。这里没有什么大秘密。比较list(range(1, 7))和list(range(1, 8))的输出... -
range的第二个参数是stop,它的工作方式类似于一个开区间,即它将在值之前停止。所以range(1,7)为您提供数字 1、2、3、4、5 和 6。如果您希望它具有包容性,则需要添加一个小于step值的数字。默认步长为 1,因此在此处添加 1,以便范围还包括数字7。
标签: python python-3.x list indexing