set("a")
和sets.Set("a")
之间有什么区别?他们的类型不同,但他们似乎做同样的事情。
我在网上找不到任何关于它的资源,但我已经看过两个例子中都使用过。
答案 0 :(得分:11)
您已标记此Python 3,因此区别在于sets
不存在。使用set
。
在Python 2中,不同之处在于不推荐使用sets
。这是旧的,缓慢的,不那么好的版本。使用set
。 documentation for the sets
module中对此进行了解释,该搜索会在搜索Python sets
时立即显示。
答案 1 :(得分:4)
内置的set()基于旧的sets.Set()并且运行得更快。 这两个'做'都是一样的,但在Python 3中''sets'模块不再存在。
以下是直接来自Python 2 Library的答案:
内置集和冻结集类型是根据集合模块的经验教训设计的。关键的区别是:
将Set和ImmutableSet重命名为set和frozenset。
- 没有与BaseSet等效的东西。相反,使用isinstance(x,(set,frozenset))。
- 对于大多数数据集,内置函数的哈希算法表现得更好(更少的冲突)。
- 内置版本具有更多节省空间的泡菜。
- 内置版本没有union_update()方法。而是使用等效的update()方法。
- 内置版本没有_repr(sorted = True)方法。相反,使用内置的repr()和sorted()函数:repr(sorted(s))。
- 内置版本没有自动转换为immutable的协议。许多人发现此功能令人困惑,社区中没有人报告发现了它的实际用途。
答案 2 :(得分:0)
答案 3 :(得分:0)
没有太大区别,您应该使用内置<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<ul>
<li class="main"><span class="arrow-up">span</span>
<ul class="sub">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
<li class="main"><span class="arrow-up">span</span>
<ul class="sub">
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
</li>
</ul>
或set
,而不是frozenset
模块。
集合模块documentation itself says -
从2.6版开始不推荐使用:内置的set / frozenset类型替换了这个模块。
Python 3.x中没有sets
模块,只有Python 2。