- Aliases
- and operator
- Booleans
- Classes
- Code blocks
- Comments
- Conditional statements
- Console
- datetime module
- Dictionaries
- enum
- enumerate() function
- Equality operator
- False
- Floats
- For loops
- Formatted strings
- Functions
- Greater than operator
- Greater than or equal to operator
- If statement
- in operator
- Indices
- Inequality operator
- Integers
- Less than operator
- Less than or equal to operator
- List append() method
- List insert() method
- List pop() method
- List sort() method
- Lists
- map() function
- Match statement
- Modules
- None
- not operator
- or operator
- Parameters
- print() function
- range() function
- Regular expressions
- requests Library
- return statement
- round() function
- Sets
- String join() method
- String replace() method
- String split() method
- Strings
- time.sleep() function
- True
- try...except statement
- Tuples
- Variables
- While loops
PYTHON
Python Set: Working with Sets in Python
In Python, a set is a data type that consists of an unordered collection of unique items. Lists can include items (or elements) of any data type, including numbers, strings, dictionaries, functions, and lists.
How to Use Sets in Python
Python Creating Sets
To create a set in Python, you can use curly braces ({}
) or the set()
function.
# Using curly braces
my_set = {1, 2, 3, 4, 4}
print(my_set) # Outputs: {1, 2, 3, 4}
# Using set() function
another_set = set([1, 2, 2, 3, 4])
print(another_set) # Outputs: {1, 2, 3, 4}
Python Adding to Sets
You can add an element to a set using the add()
method, passing the element as an argument. If the element already exists within the set, the set remains unchanged.
# Adding an element
my_set.add(5)
print(my_set) # Outputs: {1, 2, 3, 4, 5}
You can also add multiple elements to a set using the update()
method, passing a sequence as an argument.
my_set = {1, 2, 3}
my_set.update([4, 5, 6])
print(my_set) # Outputs: {1, 2, 3, 4, 5, 6}
Python Removing From Sets
The remove()
method removes a specified element from a set. If the element doesn’t exist within the set, the method raises an KeyError
.
# Removing an element
my_set.remove(3)
print(my_set) # Outputs: {1, 2, 4, 5}
When to Use Sets in Python
Sets are useful when you need to manage unique elements and perform set operations.
Removing Duplicates from a List
Use a set to remove duplicates from a list since sets do not allow duplicate values.
numbers = [1, 2, 2, 3, 4, 4, 5]
unique_numbers = list(set(numbers))
print(unique_numbers) # Outputs: [1, 2, 3, 4, 5]
Membership Testing
Sets are efficient for membership testing, allowing you to check if an item exists within a set.
fruits = {'apple', 'banana', 'cherry'}
print('apple' in fruits) # Outputs: True
print('grape' in fruits) # Outputs: False
Set Operations
Sets support mathematical operations like union, intersection, and difference, making them useful for comparing collections.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Union
print(set1 | set2) # Outputs: {1, 2, 3, 4, 5}
# Intersection
print(set1 & set2) # Outputs: {3}
# Difference
print(set1 - set2) # Outputs: {1, 2}
Examples of Using Sets in Python
Filtering Unique Visitors
A web analytics platform might use a set to keep track of unique visitors to a website.
visitors = {'user1', 'user2', 'user3'}
new_visitors = {'user2', 'user3', 'user4'}
all_visitors = visitors | new_visitors
print(all_visitors) # Outputs: {'user1', 'user2', 'user3', 'user4'}
Handling Tags in Social Media Posts
Social media platforms can use sets to manage unique tags in posts.
post_tags = {'python', 'coding', 'tutorial'}
new_tags = {'tutorial', 'programming', 'learning'}
all_tags = post_tags | new_tags
print(all_tags) # Outputs: {'python', 'coding', 'tutorial', 'programming', 'learning'}
Managing Environment Variables
In Python, you can use sets to handle environment variables, ensuring each variable is unique.
import os
env_vars = set(os.environ.keys())
print(env_vars) # Outputs: a set of environment variable names
Learn More About Python Sets
Python Set Methods
Python provides several methods for working with sets, including add()
, remove()
, discard()
, pop()
, clear()
, and update()
.
my_set = {1, 2, 3}
my_set.add(4) # Adds an element
my_set.remove(2) # Removes an element
print(my_set) # Outputs: {1, 3, 4}
Python Set Operations
Sets support various operations like union (|
), intersection (&
), difference (-
), and symmetric difference (^
).
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Symmetric Difference
print(set1 ^ set2) # Outputs: {1, 2, 4, 5}
Python Set of Sets
Python does not allow sets of sets directly because sets are unhashable. However, you can create sets of frozensets, which are immutable.
set_of_sets = {frozenset({1, 2}), frozenset({3, 4})}
print(set_of_sets) # Outputs: {frozenset({1, 2}), frozenset({3, 4})}
Python Ordered Set
Python's built-in set type is unordered. To maintain order, you can use collections.OrderedDict
or the ordered-set
library.
from collections import OrderedDict
ordered_set = list(OrderedDict.fromkeys([1, 2, 2, 3, 4]))
print(ordered_set) # Outputs: [1, 2, 3, 4]
Converting Between Sets and Lists
You can convert a Python set into a list using the list()
function. Similarly, you can convert a list into a set with the Python set()
function. When a list contains duplicate elements, converting it to a set removes the duplicates.
# Converting set to list
my_set = {1, 2, 3}
my_list = list(my_set)
print(my_list) # Outputs: [1, 2, 3]
# Converting list to set
my_list = [1, 2, 3, 3, 4]
my_set = set(my_list)
print(my_set) # Outputs: {1, 2, 3, 4}
Python Set Differences
You can use the difference()
method and the -
operator to find the difference between two sets. The difference of two sets A
and B
(A - B
) is the set of elements that are in A
but not in B
.
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
# Using difference() method
diff1 = set1.difference(set2)
print(diff1) # Outputs: {1, 2}
# Using - operator
diff2 = set1 - set2
print(diff2) # Outputs: {1, 2}
With the difference_update()
method, you can remove elements from a set that also exist within another set.
pythonCopy code
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
set1.difference_update(set2)
print(set1) # Outputs: {1, 2}
Sign up or download Mimo from the App Store or Google Play to enhance your programming skills and prepare for a career in tech.