联盟签到伪代码

时间:2018-06-14 16:32:37

标签: union pseudocode

我正在尝试使用伪代码使用python重写算法 但我对联合符号的含义感到困惑,这是伪代码的样子

def get_fields(model, fields):
    fields_meta = []

    for field in fields:
        field_meta = {}

        field_meta['name'] = field
        field_meta['title'] = force_text(model._meta.get_field(field).verbose_name)
        field_meta['type'] = model._meta.get_field(field).get_internal_type()
        if field_meta['type'] == 'ForeignKey':
            field_meta['rel_model'] = model._meta.get_field(field).rel.to
        field_meta['null'] = model._meta.get_field(field).null
        field_meta['max_legth'] = model._meta.get_field(field).max_length

        fields_meta.append(field_meta)

    return fields_meta

这里,

是什么意思
count(l):
counts ← {}.
For each l.x in l:
 For each (c,b) in l.x:
  If, for some n, (c,n) is in counts:
   counts ← counts – {(c,n)} ∪ {(c,n+1)}.
  Else: counts ← counts ∪ {(c,1)}.
Return counts.

它是否意味着除了(c,n)和(c,n + 1)的并集之外的所有内容的计数? 但它似乎违反了函数的名称,任何人都可以向我解释这行代码是什么意思?

1 个答案:

答案 0 :(得分:0)

counts – {(c,n)} ∪ {(c,n+1)}

应该被理解为

(counts – {(c,n)}) ∪ {(c,n+1)}

即。建立

的联盟
  • 没有counts元素的(c,n)
  • {(c,n+1)}