假设我生成一个 0 - 10 的列表:
range(10)
然后我有一个字典列表,看起来像这样:
item = [{'position': 0}, {'position': 4}]
如何获得不在 position
范围内的最小数字?例如,如果我向它询问下一个可用位置,它应该返回 1;并且,将它添加到列表中,然后是 2,等等,直到它达到 4,在这种情况下它应该返回 5。
最佳答案
>>> item = [{'position': 0}, {'position': 4}]
>>> min(set(range(10)) - set(x['position'] for x in item))
1
你找到所有的位置值(x['position'] for x in item))
,
将此列表转换为集合,从 0 到最大值的所有数字集合中减去它,
然后在结果集中找到最小值。
关于python - 在数字范围内找到最低的未占用空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624004/