- Aliases
- and operator
- Booleans
- Classes
- Code blocks
- Comments
- Conditional statements
- Console
- Data structures
- datetime module
- Decorator
- Dictionaries
- Docstrings
- enum
- enumerate() function
- Equality operator
- Exception handling
- False
- File handling
- Floats
- For loops
- Formatted strings
- Functions
- Generator
- Greater than operator
- Greater than or equal to operator
- If statement
- in operator
- Indices
- Inequality operator
- Integers
- Iterator
- Lambda function
- Less than operator
- Less than or equal to operator
- List append() method
- List comprehension
- List insert() method
- List pop() method
- List sort() method
- Lists
- Logging
- map() function
- Match statement
- Math module
- Modules
- Multiprocessing
- Multithreading
- None
- not operator
- OOP
- or operator
- Parameters
- print() function
- Random module
- range() function
- Recursion
- Regular expressions
- requests Library
- return statement
- round() function
- Sets
- SQLite
- String join() method
- String replace() method
- String split() method
- Strings
- time.sleep() function
- True
- try...except statement
- Tuples
- Variables
- While loops
- Zip function
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. Sets are considered mutable and can be changed after their creation.
How to Use Sets in Python
Python Creating Sets
To create a set in Python, you can use curly braces ('{}') or the constructor function 'set()'.
# 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}
Sets can store various types of data, such as strings, integers, or tuples. However, sets cannot contain unhashable types like lists.
If you're new to the syntax, exploring a Python tutorial on data structures like sets can help clarify these concepts.
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. Since sets are iterable, you can also iterate over them to view all their elements.
# 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 an iterable such as a list or tuple.
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. This is a common use case in Python programming.
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
This boolean evaluation is particularly useful in conditions or loops when you need to test for set membership.
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}
These operations are essential for efficiently comparing data structures in Python.
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'}
Python Empty Set
To create an empty set, use the set()
function. Using curly braces ({}
) creates an empty dictionary instead of an empty set.
empty_set = set()
print(empty_set) # Outputs: set()
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 built-in functions and 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}
If you want to add multiple elements in one go, use the 'update()' method. However, to add individual elements step by step, consider using the 'append()' method in other data types like lists.
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}
These operations work with set objects and are helpful for managing unique collections in Python.
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.