找到一系列数字中最低的未占用空间

时间:2012-07-24 04:06:50

标签: python sorting

假设我生成了一个0到10的列表:

range(10)

然后我有一个字典列表,看起来像这样:

item = [{'position': 0}, {'position': 4}]

如何获得position范围内的最小数字?例如,如果我要求下一个可用的位置,它应该返回1;并且,将它添加到列表中,然后是2,等等,直到它达到4,在这种情况下它应该返回5.

1 个答案:

答案 0 :(得分:4)

>>> item = [{'position': 0}, {'position': 4}]
>>> min(set(range(10)) - set(x['position'] for x in item))
1

您找到所有位置值(x['position'] for x in item)), 将此列表转换为set,将其从0到最大的所有数字的集合中减去, 然后在结果集中找到最小值。