📜  Python – 连续缺失元素总和

📅  最后修改于: 2022-05-13 01:55:15.388000             🧑  作者: Mango

Python – 连续缺失元素总和

有时,我们可以将范围内的元素作为输入,但在其他连续范围内缺少一些值。我们可能有一个用例,我们需要得到所有缺失元素的总和。让我们讨论一些可以做到这一点的方法。

方法 #1:使用列表理解 + sum()
我们可以使用 range函数执行查找缺失元素的任务,以获取最大元素填充,然后在缺失时插入元素。使用 sum() 执行求和。

# Python3 code to demonstrate
# Consecutive Missing elements Sum
# using list comprehension + sum()
  
# initializing list
test_list = [3, 5, 6, 8, 10]
  
# printing original list
print("The original list : " + str(test_list))
  
# using list comprehension + sum()
# Consecutive Missing elements Sum
res = sum([ele for ele in range(max(test_list) + 1) if ele not in test_list])
  
# print result
print("The sum of missing elements : " + str(res))
输出 :
The original list : [3, 5, 6, 8, 10]
The sum of missing elements : 23

方法 #2:使用set() + sum()
也可以使用集合差异的属性,然后获取范围内缺少的元素来执行此问题。使用 sum() 执行求和。

# Python3 code to demonstrate
# Consecutive Missing elements Sum
# Using set() + sum()
  
# initializing list
test_list = [3, 5, 6, 8, 10]
  
# printing original list
print("The original list : " + str(test_list))
  
# Using set() + sum()
# Consecutive Missing elements Sum
res = sum(list(set(range(max(test_list) + 1)) - set(test_list)))
  
# print result
print("The sum of missing elements : " + str(res))
输出 :
The original list : [3, 5, 6, 8, 10]
The sum of missing elements : 23