Sometimes, it is desirable to split a large python iterable
into smaller iterables. I have developed a small module for
Stockr which can be used to
help with this common task.
Supported iterable types:
- Lists
- Most Basic Generators
- Dictionaries
- Django QuerySets
Module: List-Splitter
Usage:
import list_splitter
inp_dict = {
'a': 1,
'b': 2,
'c': 3,
'd': 4,
'e': 5,
'f': 6
}
inp_list = [
1,
2,
3,
4,
5,
6
]
"""
Prints:
[
{'a': 1, 'b': 2, 'c': 3},
{'d': 4, 'e': 5, 'f': 6}
]
"""
print(list(list_splitter.n_chunks(inp_dict, 2)))
"""
Prints:
[
[1, 2, 3],
[4, 5, 6]
]
"""
print(list(list_splitter.n_chunks(inp_list, 2)))
"""
Prints:
[
{'a': 1, 'c': 3},
{'b': 2, 'e': 5},
{'d': 4, 'f': 6}
]
"""
print(list(list_splitter.chunks_of_n(inp_dict, 2)))
"""
Prints:
[
[1, 2],
[3, 4],
[5, 6]
]
"""
print(list(list_splitter.chunks_of_n(inp_list, 2)))
"""
Prints:
[
[{'a': 1}, {'c': 3}],
[{'b': 2}, {'e': 5}],
[{'d': 4}, {'f': 6}]
]
"""
print(list(list_splitter.chunks_matrix(inp_dict, 1, 2)))
"""
Prints:
[
[[1], [2]],
[[3], [4]],
[[5], [6]]
]
"""
print(list(list_splitter.chunks_matrix(inp_list, 1, 2)))
"""
Prints:
[
[{'a': 1, 'c': 3}],
[{'b': 2, 'e': 5}],
[{'d': 4, 'f': 6}]
]
"""
print(list(list_splitter.chunks_matrix(inp_dict, 2, 1)))
"""
Prints:
[
[[1, 2]],
[[3, 4]],
[[5, 6]]
]
"""
print(list(list_splitter.chunks_matrix(inp_list, 2, 1)))