Open In App

Time Complexity to Convert a Set to List in Python

Last Updated : 09 Feb, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Concerting a set to a list involves iterating through the elements of the set and adding them to a list. The time complexity of this operation is linear and depends on the size of the set. Let’s denote the size of the set as n. The time complexity to convert a set to a list generally takes O(n) time. where n is the n of elements in the set. There are various methods to convert a set to a list in Python. In this article, we will learn about the time complexity of different ways to convert a set to a list in Python.

Time Complexity to Convert a Set to List in Python

Below are some of the ways by which we can convert a set to a list in Python in different time complexity scenarios in Python:

Using list() constructor

In this method, we are going to use an in-built list() constructor which converts a set to a list directly. we have nothing to do with the constructor just call it and pass the set to it.

Python3




# Method - 1
 
import time
 
# for small set
small_set = {1, 2, 3, 4, 5}
 
start = time.time()
small_list = list(small_set)
print("List is:",small_list)
end = time.time()
print("Small Set to List Time:", round(end - start, 5))
 
# for Large set
large_set = set(range(1, 1000001))
 
start_time = time.time()
large_list = list(large_set)
end_time = time.time()
print("\nLarge Set to List Time:", round(end_time - start_time, 5))


Output

List is: [1, 2, 3, 4, 5]
Small Set to List Time: 2e-05

Large Set to List Time: 0.0148


Using extend() method

The extend() method use to add the specified list elements (or any iterable) to the end of the current list. so in this method we are going to use this in-built provided functionality of the list.

Python3




# Method - 2
import time
 
# For small set
s_set = {1, 2, 3, 4, 5}
 
start = time.time()
my_list = []
my_list.extend(s_set)
end = time.time()
print("List is : ",my_list)
print("Small Set to List Time in sec:", round(end - start,5))
 
# For large set
l_set = set(range(1, 1000001))
 
start = time.time()
my_list2 = []
my_list2.extend(l_set)
end = time.time()
print("\nLarge Set to List Time in sec:", round(end - start,6))


Output

List is :  [1, 2, 3, 4, 5]
Small Set to List Time in sec: 0.0

Large Set to List Time in sec: 0.011127


Using List Comprehension

List comprehension is the short way for doing a task. And we can also use list comprehension for conversion of list to set. In this method we are iterating through the set and inserting the element of set to a list.

Python3




# Method - 3 Using List Comprehension
import time
s_set = {1, 2, 3, 4, 5}
 
start = time.time()
my_list = [i for i in s_set]
end = time.time()
print("Newly Created list : ", my_list)
print("Small Set to List Time:", round(end - start, 5))
 
# For large set
l_set = set(range(1, 1000001))
 
start = time.time()
my_list2 = [item for item in l_set]
end = time.time()
print("\nLarge Set to List Time:", round(end - start, 6))


Output

Newly Created list :  [1, 2, 3, 4, 5]
Small Set to List Time: 0.0

Large Set to List Time: 0.02328


Conclusion

The time complexity of this operation is O(n), where n is the number of elements in the set. Each element in the set needs to be added to the list, and this process takes linear time.



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads