【发布时间】:2013-06-26 17:25:29
【问题描述】:
我正在学习 python,我有一个关于初始化集合的新手问题。通过测试,我发现一个集合可以这样初始化:
my_set = {'foo', 'bar', 'baz'}
与标准方式相比,这样做有什么缺点吗:
my_set = set(['foo', 'bar', 'baz'])
还是只是风格问题?
【问题讨论】:
-
文档确实提到了它,只是没有。请注意,这是已弃用模块的文档,现在已内置 real 集。它在“Python 2.7 中的新增功能”文档中,语言参考对其进行了简要描述:docs.python.org/2/reference/expressions.html#set-displays
-
@delnan 我使用 python 2.7,所以我没想到查看 python 3 文档。我发布的链接是针对 2.7 的,但奇怪的是没有提到这一点。
-
自从我编辑了我的评论后,2.7 文档也提到了这一点。您发布的链接已过时,是过去的遗物,错误的,已弃用。忘记它的存在并使用它本身告诉您使用的东西:docs.python.org/2/library/stdtypes.html#set 和 docs.python.org/2/library/stdtypes.html#frozenset
-
@delnan 感谢您帮助我。我编辑了这个问题,所以我不再说它没有文档(尽管网上提到这个的例子很少)。
-
对于路人:Pycharm 警告不要在可以使用文字时使用函数调用 - 可能存在性能原因 - 所以更喜欢在新代码中设置文字方式
标签: python python-2.7 set