diff --git a/docs/reference.md b/docs/reference.md index 91e420c..042b123 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -123,6 +123,10 @@ Same as `FilterKeys` but for `v` in `(k, v)` pairs >>> [("a", ["x", "y", "z"]), ("b", ["p", "r"])] | FlatMapValues(lambda x: x) | Pipe(list) [('a', 'x'), ('a', 'y'), ('a', 'z'), ('b', 'p'), ('b', 'r')] +>>> keep_even = lambda it: it | Filter(lambda x: x % 2 == 0) +>>> [('a', [0, 1, 2]), ('b', [3, 4])] | FlatMapValues(keep_even) | Pipe(list) +[('a', 0), ('a', 2), ('b', 4)] + ``` ## KeyBy diff --git a/tests/pipe_test.py b/tests/pipe_test.py index f0e4fb8..1fc6062 100644 --- a/tests/pipe_test.py +++ b/tests/pipe_test.py @@ -114,6 +114,7 @@ def test_flat_map(it, f, expected): @pytest.mark.parametrize( ('it', 'f', 'expected'), [ ([('a', ['x', 'y', 'z']), ('b', ['p', 'r'])], lambda x: x, [('a', 'x'), ('a', 'y'), ('a', 'z'), ('b', 'p'), ('b', 'r')]), + ([('a', [0, 1, 2]), ('b', [3, 4])], yield_even, [('a', 0), ('a', 2), ('b', 4)]), ], ) def test_flat_map_values(it, f, expected):