创建空的

2024-09-29 03:26:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些代码,可以汇总一组选定的值。我想定义一个空集并将其添加到其中,但是{}总是变成一个字典。我发现如果我用一个伪值填充集合,我可以使用它,但它不是很优雅。有人能告诉我怎么做吗?谢谢。

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}


Tags: 代码infor字典定义querydummythree
3条回答

你可以构造一个集合:

>>> s = set()

会完成任务的。

正如已经指出的-获得empy set文本的方法是通过set(),但是,如果您编写了代码,则不需要担心这个问题,例如(使用set()):

from operator import itemgetter
query = ['four', 'two', 'three']
result = set().union(*itemgetter(*query)(inversIndex))
# set([0, 1, 2])

正确的方法是:

myset = set()

{...}符号不能用于初始化空集

相关问题 更多 >