コード例 #1
0
def test_topk():
    assert topk(2, [4, 1, 5, 2]) == (5, 4)
    assert topk(2, [4, 1, 5, 2], key=lambda x: -x) == (1, 2)
    assert topk(2, iter([5, 1, 4, 2]), key=lambda x: -x) == (1, 2)

    assert topk(2, [{'a': 1, 'b': 10}, {'a': 2, 'b': 9},
                    {'a': 10, 'b': 1}, {'a': 9, 'b': 2}], key='a') == \
        ({'a': 10, 'b': 1}, {'a': 9, 'b': 2})

    assert topk(2, [{'a': 1, 'b': 10}, {'a': 2, 'b': 9},
                    {'a': 10, 'b': 1}, {'a': 9, 'b': 2}], key='b') == \
        ({'a': 1, 'b': 10}, {'a': 2, 'b': 9})
コード例 #2
0
def test_topk():
    assert topk(2, [4, 1, 5, 2]) == (5, 4)
    assert topk(2, [4, 1, 5, 2], key=lambda x: -x) == (1, 2)
    assert topk(2, iter([5, 1, 4, 2]), key=lambda x: -x) == (1, 2)

    assert topk(
        2,
        [{
            "a": 1,
            "b": 10
        }, {
            "a": 2,
            "b": 9
        }, {
            "a": 10,
            "b": 1
        }, {
            "a": 9,
            "b": 2
        }],
        key="a",
    ) == ({
        "a": 10,
        "b": 1
    }, {
        "a": 9,
        "b": 2
    })

    assert topk(
        2,
        [{
            "a": 1,
            "b": 10
        }, {
            "a": 2,
            "b": 9
        }, {
            "a": 10,
            "b": 1
        }, {
            "a": 9,
            "b": 2
        }],
        key="b",
    ) == ({
        "a": 1,
        "b": 10
    }, {
        "a": 2,
        "b": 9
    })
    assert topk(2, [(0, 4), (1, 3), (2, 2), (3, 1), (4, 0)],
                0) == ((4, 0), (3, 1))
コード例 #3
0
ファイル: test_itertoolz.py プロジェクト: adamchainz/cytoolz
def test_topk_is_stable():
    assert topk(4, [5, 9, 2, 1, 5, 3], key=lambda x: 1) == (5, 9, 2, 1)