gpt4 book ai didi

python - 如何从列表中查找缺失的号码?

转载 作者:行者123 更新时间:2023-12-01 08:40:29 26 4
gpt4 key购买 nike

我正在打破列表中的缺失值。并附在这个问题中How to find a missing number from a list?

如下所述,如何在列表范围的总和中包含缺失值?

a=[1,2,3,4,5,7,8,9,10]

sum(xrange(a[0],a[-1]+1)) - sum(a)

结果:6

最佳答案

就这么简单。

尝试分解它会更容易理解:

  • xrange 为您提供了一个生成器,最终将为您提供两个数字之间的整数作为此参数提供功能。所以 xrange(4,9) 会给你 (4,5,6,7,8)。所以主要结论是 xrange 这里给出从 4 到 9 的整数(包括 4并且排除 9)
  • 现在 sum 函数只是将给定对象内的值相加(此处列出);我相信这里没有更多解释
  • 因此,在您的情况下, xrange(a[0],a[-1]+1) 生成一个生成器,该生成器给出从 a[0] 开始的值,即 1 到 且不包括 a[-1]+1 即11. 请记住,在 Python 中,负索引是从后向引用。所以 a[-1] 表示列表 a 中的最后一项。类似地a[-2]=9。
  • 现在我们得到了一个包含从 1 到 10 的所有数字的列表,总和给出了 55,而 a 本身的总和等于 49(因为它不包括 6),所以区别就是你缺少的值。

注意-此代码的一个问题是,如果缺少 1 个以上的数字,则会导致这些缺失值的总和,而不是缺失值。因此,如果 a=[1,2,3,5,8,9,10],则此代码将导致:

sum(1,2,3,4,5,6,7,8,9,10)-sum(1,2,3,5,8,9,10) and that will be equal to 17

旁注 - xrange 在 Python 3 中已被弃用,我 90% 确信这个问题会被标记为坏问题。

关于python - 如何从列表中查找缺失的号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53525787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com