Ejemplo n.º 1
0
def candidatekeys(data: Table, maxcols: int = 1) -> Iterable[Tuple[int, ...]]:
    cols = list(transpose(data))

    return map(
        tuple,
        dropsupersets(
            map(set,
                (localcolids for i in range(1, maxcols + 1)
                 for localcolids in combinations(range(len(cols)), i)
                 if isdistinct(transpose(cols[j] for j in localcolids))))))
Ejemplo n.º 2
0
def test_isdistinct():
    assert isdistinct([1, 2, 3]) is True
    assert isdistinct([1, 2, 1]) is False

    assert isdistinct("Hello") is False
    assert isdistinct("World") is True

    assert isdistinct(iter([1, 2, 3])) is True
    assert isdistinct(iter([1, 2, 1])) is False