我有开始、结束编号和可用列表。
start_no = 6001, end_no = 6190
List = [u'6001', u'6005', u'6008', u'6002']
从这个列表中,我想从开始和结束数字之间的缺失值中获取最小的最小数字。 (即)我需要 6003 的值
如何在 Python 中实现这个结果?
请您参考如下方法:
由于您的值范围定义明确,因此您只需检查范围内不在列表中的第一个数字:
my_set = set(map(int, List))
val = next(i for i in range(start_no, end_no+1) if i not in my_set)
这避免了构建一个全新的列表并用 min 遍历它的整个长度。
如果列表比较大,您可以考虑将其设为集合以减少成员查找时间。
