What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

5 Ways to Convert Set to List in Python

  • Sep 26, 2021
  • 7 Minutes Read
5 Ways to Convert Set to List in Python

 

Type conversion is one of the most important concepts to understand while programming. Every data structure in python has its nature of storing data and allows you to perform operations on it. Therefore, typecasting is the method of converting the data or variable from one data structure to another for performing necessary operations.

When it comes to python set and list, many methods are using with you can perform explicit type conversion to convert set to list. In this article, we will discuss all these methods in detail with examples but before that, let’s briefly understand the python set and python list.

What is Set in Python?

A set is an unordered collection of items. Every element in the set is unique in nature. You can create a set by enclosing the elements inside the curly braces({}), separated by a comma(,). Therefore, set elements are unordered, unchangeable, and allows unique value. Here unordered means that elements in the set do not have any specific order to follow. It can possess different orders every time you use it, and hence you cannot refer to them by any key or index value. The most important feature of the set is that it is partially mutable in nature. This means that sets are mutable but only store the immutable elements.

For Example

set1 = {10, 20, 30}
print(set1)

# set of mixed datatypes
set2 = {100.0, "favtutor", (10, 20, 30)}
print(set2)

 

Output

{10, 20, 30}
{'favtutor', 100.0, (10, 20, 30)}

 

What is a List in Python?

Python lists are the data structure used to store multiple elements in a single variable. You can create a list by collecting of a sequence of elements of different types and enclose them inside the square brackets([]), separated by comma(,). Python programming consists of six different data types that can store the sequence of elements, but the list is most commonly used.

Python lists are ordered collections of elements where you can access them by using their index value. Lists are mutable in nature, which means you can add, modify or delete the elements of the list anytime you want. Check out the below example to briefly understand the list in detail.

For Example

sample_list = ["Compile", "With", "Favtutor"]
print(sample_list)

 

Output

['Compile', 'With', 'Favtutor']

 

Difference Between Set and List in Python

Set

List

Unordered

Ordered

It does not support slicing

Support slicing

Partially mutable

Fully mutable

No duplicates allowed

Duplicates are allowed

Elements cannot be changed or replaced

Elements can be changed or replaced

 

After understanding sets and lists in python briefly, now it's time to learn methods that can explicitly convert python set to list.

 

Convert Set to List in Python

Below are five common methods used to convert set to list in python programming:

1) Using list() function

Python supports many in-built functions to ease the programming for the developers. list() is one such function that can help you convert the python set into the list data type. You have to pass the python set inside the list() function as an argument, and the output will be the list of the same elements. Take a look at the below example:

For Example

sample_set = {10, 20, 30, 40}
my_list = list(sample_set)
print(my_list)

 

Output

[40, 10, 20, 30]

 

Note: - Here order of the list can be random and not in a sorted manner necessarily.

2) Using manual iteration

As mentioned above, the set is iterable in nature. Therefore, you can manually add the elements to the list for converting the python set to list data structure. This method is rarely used as type conversion because the method involves a lot of manual work and does not have any additional advantage over using the list() function.

For Example

sample_set = {10, 20, 30, 40}
l = []
for i in sample_set:
    l.append(i)
print(l)

 

Output

[40, 10, 20, 30]

 

3) Convert a frozenset to a list

Python frozenset object is an immutable unordered collection of data elements. Therefore, you cannot modify the elements of the frozenset. To convert this set into a list, you have to use the list function and pass the set as a parameter to get the list object as an output.

Example

sample_set = frozenset({10, 20, 30, 40})
my_list = list(sample_set)
print(my_list)

 

Output

[40, 10, 20, 30]

 

4) Using sorted() method

You can convert a set into the list in a defined order using the sorted() function. The only disadvantage of this function is that the set elements need to be sortable in nature. The example below briefly explains the sorted() method's working for converting set to list in python programming.

For Example

sample_set = {10, 20, 30, 40}
my_list = sorted(sample_set)
print(my_list)

 

Output

[10, 20, 30, 40]

 

5) Unpack set inside the parenthesis

In this method, you have to unpack the set inside the list literal, which is created due to the presence of the single comma(,). This approach is faster than others for converting set to list in python, but it suffers from readability.

For Example

sample_set = {10, 20, 30, 40}
my_list = [*sample_set, ]
print(my_list)

 

Output

[40, 10, 20, 30]

 

Conclusion

Explicit conversion of one data type to another consumes a lot of time if you are not familiar with the methods and approach to use them. This article suggests some common methods to convert set to list in python programming along with the brief introduction and comparison of set and list itself. It is always recommended to briefly understand this type of conversion method to make your coding faster and effective. To learn more, visit our article “4 ways to convert int to string in python”.

FavTutor - 24x7 Live Coding Help from Expert Tutors!

About The Author
Shivali Bhadaniya
I'm Shivali Bhadaniya, a computer engineer student and technical content writer, very enthusiastic to learn and explore new technologies and looking towards great opportunities. It is amazing for me to share my knowledge through my content to help curious minds.