【问题标题】:What does list[index] +1 mean?list[index] +1 是什么意思?
【发布时间】: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]1num_list[-1]7num_list[-1] + 18。总的来说,它相当于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


【解决方案1】:

您上传的代码通过使用返回所有数字的范围对象的范围(开始数字,结束数字不包括)函数创建介于列表中的第一个数字到最后一个数字之间的所有数字,将所有数字相加然后它减去当前列表的总和。
通过此计算,您将获得缺失数字的值

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28
- 
1 + 2 + 3 + 4 + 6 + 7 = 23
=
5

您可以对每个包含从 1 到 n 的数字并且中间缺少数字的列表执行相同的操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多