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”.