了解set()函数

发布于 2021-01-29 19:11:58

在python中,set()是没有重复元素的无序集合。但是,我无法理解它如何生成输出。

例如,考虑以下内容:

>>> x = [1, 1, 2, 2, 2, 2, 2, 3, 3]
>>> set(x)
set([1, 2, 3])

>>> y = [1, 1, 6, 6, 6, 6, 6, 8, 8]
>>> set(y)
set([8, 1, 6])

>>> z = [1, 1, 6, 6, 6, 6, 6, 7, 7]
>>> set(z)
set([1, 6, 7])

应该不是的输出set(y)是:set([1, 6, 8])?我在Python 2.6中尝试了以上两个。

关注者
0
被浏览
55
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    正如您所说,集合是无序的。即使实现集合的一种方法是使用树,也可以使用哈希表来实现(这意味着按排序顺序获取键可能并不那么琐碎)。

    如果您想对它们进行排序,则可以执行以下操作:

    sorted(set(y))
    

    这将产生一个包含集合元素的排序列表。(不是集合。同样,集合是无序的。)

    否则,唯一可以保证的set就是它使元素唯一(没有什么可以不止一次了)。

    希望这可以帮助!



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看