Skip to main content
 首页 » 编程设计

python之如何在 python 3 中的任意列表中查找缺失的数字

2025年05月04日25fff_TT

我正在尝试在任意列表中查找缺失的数字。在有序列表中,我的代码工作正常,但在任意列表中不起作用。这是我的代码:

a = [10,12,13,8] 
b = [x for x in range(a[0], a[-1] + 1)] 
a = set(a) 
print(list(a ^ set(b))) 

输出是:

[8, 10, 12, 13] 

但是当 a 被排序时,输出结果很好:

[9,11] 

我的代码有什么问题,我该如何解决?附言。我知道我可以对列表进行排序并解决问题,但我希望它也适用于任意列表。

请您参考如下方法:

这个怎么样:

a = [10, 12, 13, 8] 
b = set(range(min(a), max(a)+1)) 
print(set(a).symmetric_difference(b))