Python|查找列表中缺失的元素
有时,我们可以将范围内的元素作为输入,但在其他连续范围内缺少一些值。我们可能有一个用例,我们需要获取所有缺失的元素。让我们讨论一些可以做到这一点的方法。
方法#1:使用列表推导
我们可以使用 range函数执行查找缺失元素的任务,以获取最大元素填充,然后在缺失时插入元素。
# Python3 code to demonstrate
# Finding missing elements in List
# using list comprehension
# initializing list
test_list = [3, 5, 6, 8, 10]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension
# Finding missing elements in List
res = [ele for ele in range(max(test_list)+1) if ele not in test_list]
# print result
print("The list of missing elements : " + str(res))
输出 :
The original list : [3, 5, 6, 8, 10]
The list of missing elements : [0, 1, 2, 4, 7, 9]
方法 #2:使用set()
也可以使用集合差异的属性,然后获取范围内缺少的元素来执行此问题。
# Python3 code to demonstrate
# Finding missing elements in List
# Using set()
# initializing list
test_list = [3, 5, 6, 8, 10]
# printing original list
print("The original list : " + str(test_list))
# Using set()
# Finding missing elements in List
res = list(set(range(max(test_list) + 1)) - set(test_list))
# print result
print("The list of missing elements : " + str(res))
输出 :
The original list : [3, 5, 6, 8, 10]
The list of missing elements : [0, 1, 2, 4, 7, 9]