Python 创建空集
我有一些代码,它汇总了一组选定的值。我想定义一个空集并添加到其中,但是Python 创建空集,python,Python,我有一些代码,它汇总了一组选定的值。我想定义一个空集并添加到其中,但是{}一直在变成字典。我发现如果我用一个虚拟值填充集合,我可以使用它,但它不是很优雅。有人能告诉我正确的方法吗?谢谢 inversIndex = {'five': {1}, 'ten': {2}, 'twenty': {3}, 'two': {0, 1, 2}, 'eight': {2}, 'four': {1}, 'six': {1}, 'seven': {1}, '
{}
一直在变成字典。我发现如果我用一个虚拟值填充集合,我可以使用它,但它不是很优雅。有人能告诉我正确的方法吗?谢谢
inversIndex = {'five': {1}, 'ten': {2}, 'twenty': {3},
'two': {0, 1, 2}, 'eight': {2}, 'four': {1},
'six': {1}, 'seven': {1}, 'three': {0, 2},
'nine': {2}, 'twelve': {2}, 'zero': {0, 1, 3},
'eleven': {2}, 'one': {0}}
query = ['four', 'two', 'three']
def orSearch(inverseIndex, query):
b = [ inverseIndex[c] for c in query ]
x = {'dummy'}
for y in b:
{ x.add(z) for z in y }
x.remove('dummy')
return x
orSearch(inverseIndex, query)
{0,1,2}
您只需构造一个集合:
>>> s = set()
我会做好的 正确的方法是:
myset = set()
正如已经指出的那样,
{…}
符号不能用于初始化空集合——获取empy集合
文本的方法是通过set()
,但是,如果您编写了代码,您不需要担心这一点,例如(使用set()
):
集合文字只是花括号中值的元组:
x = {2, 3, 5, 7}
x = {*()}
因此,您可以使用花括号中的值的空元组创建一个空集:
x = {2, 3, 5, 7}
x = {*()}
然而,仅仅因为你可以,并不意味着你应该
除非它是一个模糊的编程,或者每个字符都很重要,否则我建议使用显式的x=set()
A
集合
?只需使用set()
。只为副作用而使用set理解?是的,一个非常黑客的新手;^)不正确;大括号可以用于非空集合文字。