Python Tuples Sets
Python Tuples and Sets
In Python, tuples and sets are distinct collection types designed for storing multiple elements. Below is a detailed explanation of both, including syntax and examples.
Tuples
A tuple is a fixed, ordered sequence of elements that cannot be modified. It is used when you want to store multiple values and ensure that they cannot be modified after creation.
Characteristics of Tuples
- Immutable: After creation, tuple elements remain fixed and unalterable.
- Ordered: The order of elements is preserved.
- Allows Duplicates: Tuples can have duplicate elements.
- Heterogeneous: Tuples support heterogeneous data, allowing multiple element types.
Syntax
# Creating a tuple tuple_name = (element1, element2, element3, ...)
Examples
# Example of a tuple
my_tuple = (1, "apple", 3.14, "apple")
# Accessing elements by index
print(my_tuple[0]) # Output: 1
print(my_tuple[1:3]) # Output: ('apple', 3.14)
# Length of a tuple
print(len(my_tuple)) # Output: 4
# Nested tuple
nested_tuple = (1, (2, 3), 4)
print(nested_tuple[1][1]) # Output: 3
Key Operations
- Indexing: Access elements by their position.
- Slicing: Extract a portion of the tuple.
- Concatenation: Combine two tuples.
- Repetition: Repeat a tuple multiple times.
# Concatenation tuple1 = (1, 2) tuple2 = (3, 4) print(tuple1 + tuple2) # Output: (1, 2, 3, 4) # Repetition print(tuple1 * 3) # Output: (1, 2, 1, 2, 1, 2)
Sets
A set is a collection of distinct elements stored without any specific order. Sets are mainly used when you need to store unique elements and perform operations like union, intersection, and difference.
Characteristics of Sets
- Unordered: Set elements are stored in an arbitrary sequence.
- Unique: Duplicate elements are automatically removed.
- Mutable: Set elements are dynamically adjustable, allowing additions and deletions.
- No Indexing: Due to their unordered nature, sets do not allow indexing or slicing.
Syntax
# Creating a set
set_name = {element1, element2, element3, ...}
# Creating an empty set
empty_set = set()
Examples
# Example of a set
my_set = {1, 2, 3, 4, 4, 5}
print(my_set) # Output: {1, 2, 3, 4, 5} (duplicates are removed)
# Adding elements to a set
my_set.add(6)
print(my_set) # Output: {1, 2, 3, 4, 5, 6}
# Removing elements from a set
my_set.remove(3)
print(my_set) # Output: {1, 2, 4, 5, 6}
# Checking membership
print(2 in my_set) # Output: True
print(7 in my_set) # Output: False
Key Operations
- Union (
|): Combines elements from both sets. - Intersection (
&): Returns common elements. - Difference (
-): Items present in one set but absent in another. - Symmetric Difference (
^): Items that exist in one set or the other but not in both.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
# Union
print(set1 | set2) # Output: {1, 2, 3, 4, 5}
# Intersection
print(set1 & set2) # Output: {3}
# Difference
print(set1 - set2) # Output: {1, 2}
# Symmetric Difference
print(set1 ^ set2) # Output: {1, 2, 4, 5}
Set Methods
| Method | Description |
|---|---|
add() |
Inserts a single item into the set. |
remove() |
Removes a specific element (raises error if not present). |
discard() |
Removes a specific element (does not raise error). |
pop() |
Removes an arbitrary element. |
clear() |
Removes all elements from the set. |
Key Differences Between Tuples and Sets
| Feature | Tuple | Set |
|---|---|---|
| Order | Ordered | Unordered |
| Mutability | Immutable | Mutable |
| Duplicates | Allows duplicates | No duplicates allowed |
| Indexing | Supports indexing and slicing | Does not support indexing |
By understanding tuples and sets, you can efficiently store and manipulate data in Python, depending on the requirements of your program.
Prefer Learning by Watching?
Watch these YouTube tutorials to understand Python Tutorial visually:
What You'll Learn:
- 📌 Python Lesson 5: Tuples and Sets Explained
- 📌 Python Tuples Tutorial The Immutable Advantage