[] =空列表

() =空元组

{} =空字典

空集合有类似的符号吗? 或者我必须写set()?


当前回答

只是扩展一下公认的答案:

从2.7和3.1版本开始,python已经以用法{1,2,3}的形式获得了set literal{},但{}本身仍然用于空字典。

Python 2.7(第一行在Python <2.7中无效)

>>> {1,2,3}.__class__
<type 'set'>
>>> {}.__class__
<type 'dict'>

Python 3. x

>>> {1,2,3}.__class__
<class 'set'>
>>> {}.__class__
<class 'dict'>

更多信息请点击:https://docs.python.org/3/whatsnew/2.7.html#other-language-changes

其他回答

无论如何,请使用set()来创建一个空集。

但是,如果你想给人留下深刻的印象,告诉他们你可以使用Python >= 3.5(见PEP 448)使用文字和*创建一个空集:

>>> s = {*()}  # or {*{}} or {*[]}
>>> print(s)
set()

这基本上是执行{_ for _ in()}的一种更简洁的方式,但是,不要这样做。

更疯狂的想法是:在Python 3接受unicode标识符的情况下,你可以声明一个变量φ = frozenset() (φ = U+03D5)并使用它。

不,空集合没有文字语法。你必须写set()。

这取决于你是想用文字进行比较,还是赋值。

如果你想让一个现有的集合为空,你可以使用.clear()方法,特别是如果你想避免创建一个新对象。如果要进行比较,请使用set()或检查长度是否为0。

例子:

#create a new set    
a=set([1,2,3,'foo','bar'])
#or, using a literal:
a={1,2,3,'foo','bar'}

#create an empty set
a=set()
#or, use the clear method
a.clear()

#comparison to a new blank set
if a==set():
    #do something

#length-checking comparison
if len(a)==0:
    #do something

只是扩展一下公认的答案:

从2.7和3.1版本开始,python已经以用法{1,2,3}的形式获得了set literal{},但{}本身仍然用于空字典。

Python 2.7(第一行在Python <2.7中无效)

>>> {1,2,3}.__class__
<type 'set'>
>>> {}.__class__
<type 'dict'>

Python 3. x

>>> {1,2,3}.__class__
<class 'set'>
>>> {}.__class__
<class 'dict'>

更多信息请点击:https://docs.python.org/3/whatsnew/2.7.html#other-language-changes