w3resource

Python: Split an iterable and generate iterables specified number of times


9. Split Iterable into Chunks

Write a Python program to split an iterable and generate iterables a specified number of times.

Sample Solution:

Python Code:

import itertools as it
def tee_data(iter, n):
    return it.tee(iter, n)
#List
result = tee_data(['A','B','C','D'], 5)
print("Generate iterables specified number of times:")
for i in result:
    print(list(i))

#String
result = tee_data("Python itertools", 4)
print("\nGenerate iterables specified number of times:")
for i in result:
    print(list(i))

Sample Output:

Generate iterables specified number of times:
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']
['A', 'B', 'C', 'D']

Generate iterables specified number of times:
['P', 'y', 't', 'h', 'o', 'n', ' ', 'i', 't', 'e', 'r', 't', 'o', 'o', 'l', 's']
['P', 'y', 't', 'h', 'o', 'n', ' ', 'i', 't', 'e', 'r', 't', 'o', 'o', 'l', 's']
['P', 'y', 't', 'h', 'o', 'n', ' ', 'i', 't', 'e', 'r', 't', 'o', 'o', 'l', 's']
['P', 'y', 't', 'h', 'o', 'n', ' ', 'i', 't', 'e', 'r', 't', 'o', 'o', 'l', 's']

For more Practice: Solve these Related Problems:

  • Write a Python program to split an iterable into a specified number of chunks of equal size using itertools.islice.
  • Write a Python program to divide an iterable into n nearly equal parts and then reverse every other chunk.
  • Write a Python program to create multiple iterators from a single iterable, each yielding a distinct chunk of elements.
  • Write a Python program to partition an iterable into fixed-size chunks and apply a function to each chunk using map.

Python Code Editor:


Have another way to solve this solution? Contribute your code (and comments) through Disqus.

Previous: Write a Python program to create an iterator that returns consecutive keys and groups from an iterable.
Next: Write a Python program to create an iterator to get specified number of permutations of elements.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.