Time Complexity for Adding Element in Python Set vs List Last Updated : 23 Jul, 2025 Suggest changes Share 1 Likes Like Report Adding elements differs due to their distinct underlying structures and requirements for uniqueness or order. Let's explore and compare the time complexity by adding elements to lists and sets. In this article, we will explore the differences in time complexities between a Set and a List if we add an element to that. Adding elements in Python SetWhen we add an element in the set using add () method , Python computes its hash to check if it’s already in the set quickly. This allows sets to perform fast O(1) membership checks, avoiding the need for slower searches. Python a = {1, 2, 3} # Add element a.add(4) print(a) Output{1, 2, 3, 4} Explanation :Initializes a set and adds the 4 to the set. Since sets do not allow duplicates, it will only add 4 if it's not already in the set.Time complexity:O(1) for initializing a set is constant time and adding an elements.O(n) for printing the list, as it requires iterating through all elements.Adding Elements in Python ListWhen we add an element to a list using the append() method, Python directly adds the element to the end. This operation has O(1) amortized time complexity, as no hashing or duplicate checks are needed. Python a = [1, 2, 3] #Add element a.append(4) print(a) Output[1, 2, 3, 4] Explanation:Initializes a list and adds 4 to the list using the append() method. Lists allow duplicates, so 4 will be added even if it already exists in the list.Time Complexity:O(1) for initialization and adding an element using append().O(n) for printing the list, as it requires iterating through all elements.Compare Time Complexity for Adding Element in Python Set vs ListFeaturePython SetPython ListAverage Time Complexity (Adding)O(1)( for add())O(1) (for append())Worst Time Complexity (Adding)O(n) (rare, due to hash collisions)O(n) (for resizing when appending)Element LookupO(1) (efficient)O(n) (searching through the list)Memory UsageMore memory due to hash table overheadLess memory usage for dynamic arrays H harshitmongre Follow 1 Article Tags : Python Python Programs python-list python-set Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 5 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 2 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 7 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 15+ min read StatsModel Library- Tutorial 4 min read Learning Model Building in Scikit-learn 8 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 7 min read Python | Build a REST API using Flask 3 min read How to Create a basic API using Django Rest Framework ? 4 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read My Profile ${profileImgHtml} My Profile Edit Profile My Courses Join Community Transactions Logout Like