空集字面?
[]
=空list
()
=空tuple
{}
=空dict
是否有类似的表示空set
? 或者我必须写set()
?
不,空集没有字面语法。 你必须写set()
。
只是为了扩大接受的答案:
从版本2.7
和3.1
Python已经以用法{1,2,3}
forms得到了set
{}
{1,2,3}
,但是{}
本身仍然用于空字典。
Python 2.7(Python的第一行无效<2.7)
>>> {1,2,3}.__class__ <type 'set'> >>> {}.__class__ <type 'dict'>
Python 3.x
>>> {1,4,5}.__class__ <class 'set'> >>> {}.__class__ <type 'dict'>
更多在这里: https : //docs.python.org/3/whatsnew/2.7.html#other-language-changes
这取决于你是想要比较文字还是赋值。
如果你想使现有的集合为空,你可以使用.clear()
metod,特别是如果你想避免创build一个新的对象。 如果要进行比较,请使用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
如果你想初始化空集,然后应用下面的代码。 这个在python 3中完全适合我:
object = set([]) object = object.union([1,2,3,4]) #set operation.
添加疯狂的想法:Python 3接受unicode标识符,你可以声明一个variablesϕ = frozenset()
(φ是U + 03D5),并使用它。
通过一切手段, 请使用 set()
创build一个空集。
但是,如果你想给人留下深刻的印象,告诉他们你可以使用Python> = 3.5的文字( 参见PEP 448 )创build一个空集:
>>> s = {*()} # or {*{}} or {*[]} >>> print(s) set()
这基本上是{_ for _ in ()}
更简洁的方式,但是不要这样做。
您可以使用以下function:
>>> s1 = () >>> print(s1.__len__())
将导致:0 – 该集是空的
像这样使用a = set
要么
a = {0,1}