Explore

Python Programs

Convert Generator To List In Python

Convert Generator To List In Python

Looking for a tutorial on how to convert generator to list in python then you are at the right place, today in this tutorial I will show you how to convert generator to list in python so follow this tutorial till the end.

A generator is like a normal function but instead of using the return keyword a generator function uses a yield keyword, when a function uses yield keyword it is called as a generator below is an example.

Example


# Normal Function
def normal_func():
    return 1

# Generator
def gen_func():
    yield 1

When we print the generator function it returns a generator object, so today we want to convert a generator function into a list. The list will contain all the yield values of the generator.

Convert Generator To List In Python Code 


def nums_gen():
    yield 1
    yield 2
    yield 3
    yield 4
    yield 5
    

# prints a generator object    
print(nums_gen())    

# converting generator to list using list()
nums_gen = list(nums_gen())

# prints a list
print(nums_gen)

Above is the python program to convert a generator to list. You can run this code and see the result. To run this program you need to have python installed, if you don’t have, then read this: Install and setup python.

Follow this steps to run this program:

  • First, create a new folder for this program.
  • Open it in a code editor of your choice.
  • Create a python file with .py extension.
  • Copy and paste the above code in the file.
  • Open a command prompt at the program folder.
  • To run, use this command python filename.py.

Follow all the above steps if you don’t know how to run a python program. You can also run this program by using this online python compiler. After running the program you will see the generator converted to list like below

Output



[1, 2, 3, 4, 5]

As you can see, we have successfully converted a generator object to list in python. Now let’s see how this program works.

Convert Generator To List In Python Explanation

We have the code and how to run this program now. Let’s see how this program works and converts a generator to a list in python.


def nums_gen():
    yield 1
    yield 2
    yield 3
    yield 4
    yield 5
    
# prints a generator object    
print(nums_gen())   

First we have created a generator function, We know that it is a generator function because it uses yield instead of return.

When we print this generator function we get a generator object from that we also know that it is a generator.


# converting generator to list using list()
nums_gen = list(nums_gen())

# prints a list
print(nums_gen)

Here we used the list() method which converts a sequence type into a list, for example a tuple will convert to list.

So we used the list() method and gave it a generator and stored the result in the same variable, and we print and see a list with all the yield values.

Summary

This was the tutorial on converting a generator to list in python. I hope you found this tutorial helpful and useful. Do share this tutorial with your friends who might need this or find it helpful.

Here are some more python programs you will find helpful:

I hope you found what you were looking for from this python tutorial and if you want more python tutorials like this, do join our Telegram channel to get updated.

Thanks for reading, have a nice day 🙂