从集合列表中查找元素数量最少的集合

时间:2018-11-13 03:15:24

标签: python-3.x nested

我有一组列表-

inconsistent_case = [{0, 1, 2, 3, 6, 7}, {4, 5}]

我想要-

{4, 5}(设置的元素数最少)

我的代码-

length = float("inf")
small = {}
for x in inconsistent_case:
    if len(x) < length:
        length = len(x)
        small = x
print(small)

哪个给我-

{4, 5}

有没有最快和/或最简单的方法来做到这一点?

1 个答案:

答案 0 :(得分:3)

是,请指定min的密钥:

>>> inconsistent_case = [{0, 1, 2, 3, 6, 7}, {4, 5}]
>>> min(inconsistent_case, key=len)
{4, 5}

如果多个项目最少,该函数将返回遇到的第一个项目。