1

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

range(10)

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

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

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

4

1 回答 1

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

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

于 2012-07-24T04:12:54.137 回答