w3resource

Python: Create an iterator from several iterators


1. Iterator from Iterables

Write a Python program to create an iterator from several iterables in a sequence and display the type and elements of the new iterator.

Sample Solution:

Python Code:

from itertools import chain
def chain_func(l1,l2,l3):
    return chain(l1,l2,l3)    
#List
result = chain_func([1,2,3], ['a','b','c','d'], [4,5,6,7,8,9])
print("Type of the new iterator:")
print(type(result))
print("Elements of the new iterator:")
for i in result:
    print(i)

#Tuple
result = chain_func((10,20,30,40), ('A','B','C','D'), (40,50,60,70,80,90))
print("Type of the new iterator:")
print(type(result))
print("Elements of the new iterator:")
for i in result:
    print(i)

Sample Output:

Type of the new iterator:
<class 'itertools.chain'>
Elements of the new iterator:
1
2
3
a
b
c
d
4
5
6
7
8
9
Type of the new iterator:
<class 'itertools.chain'>
Elements of the new iterator:
10
20
30
40
A
B
C
D
40
50
60
70
80
90

For more Practice: Solve these Related Problems:

  • Write a Python program to create an iterator that chains together multiple iterables of different types and then filters out all non-integer elements.
  • Write a Python program to build an iterator from nested iterables, flattening them into a single sequence using itertools.chain.
  • Write a Python program to create an iterator from several iterables that skips empty sub-iterables and prints the type of each element.
  • Write a Python program to generate an iterator from multiple iterables, convert it to a list, and verify that all elements are unique by comparing with a set.

Python Code Editor:


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

Previous: Python Itertools Exercise Home.
Next: Write a Python program to generate the running product of the elements of an given iterable.

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.