Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Check if list contains all unique elements in Python
A list in Python can contain elements all of which may or may not be unique. But for scenarios when we need unique elements like marking attendance for different roll numbers of a class, we need to check if all elements are unique. Below are the approaches we can use.
Using set() Method
A Python set is a collection which is unordered, unindexed and contains only unique elements. We can compare the length of the set created from the list with the length of the list itself. They will be equal only if there are unique elements in the list.
Example with Unique Elements
# Given List
days = ['Mon', 'Tue', 'Wed']
print("The given list:", days)
# Compare length for unique elements
if(len(set(days)) == len(days)):
print("All elements are unique.")
else:
print("All elements are not unique.")
The output of the above code is ?
The given list: ['Mon', 'Tue', 'Wed'] All elements are unique.
Example with Duplicate Elements
# Given List
days = ['Mon', 'Tue', 'Wed', 'Mon']
print("The given list:", days)
# Compare length for unique elements
if(len(set(days)) == len(days)):
print("All elements are unique.")
else:
print("All elements are not unique.")
The output of the above code is ?
The given list: ['Mon', 'Tue', 'Wed', 'Mon'] All elements are not unique.
Using count() Method
We can also use the built-in count() method which counts the frequency of each element in the list. If the count is greater than 1, then we have duplicates in the list.
Example
# Given Lists
days_with_duplicates = ['Mon', 'Tue', 'Wed', 'Mon']
days_unique = ['Mon', 'Tue', 'Wed']
def check_duplicates(items):
for elem in items:
if items.count(elem) > 1:
return True
return False
# Check first list
if check_duplicates(days_with_duplicates):
print("The given list:", days_with_duplicates)
print("There are duplicates.")
else:
print("The given list:", days_with_duplicates)
print("No duplicates.")
# Check second list
if check_duplicates(days_unique):
print("The given list:", days_unique)
print("There are duplicates.")
else:
print("The given list:", days_unique)
print("No duplicates.")
The output of the above code is ?
The given list: ['Mon', 'Tue', 'Wed', 'Mon'] There are duplicates. The given list: ['Mon', 'Tue', 'Wed'] No duplicates.
Comparison
| Method | Time Complexity | Space Complexity | Best For |
|---|---|---|---|
set() |
O(n) | O(n) | Simple and efficient |
count() |
O(n²) | O(1) | When memory is limited |
Conclusion
The set() method is more efficient for checking unique elements with O(n) time complexity. Use count() only when you need to preserve memory or understand the logic step by step.
