List and Tuples
Lists
Lists are mutable sequences in Python, which allows you to change their contents.
Common Sequence Operations
| Operation | Description | 
|---|---|
len(sequence) | Returns the number of elements in the sequence. | 
for element in sequence | Iterates over each element in the sequence. | 
if element in sequence | Checks whether the element exists in the sequence. | 
sequence[i] | Accesses the element at index i, starting at 0. | 
sequence[i:j] | Returns a slice from index i to j-1. If i is omitted, starts at 0; if j is omitted, goes to the end. | 
enumerate(sequence) | Iterates over both the indexes and elements of the sequence at the same time. | 
List-Specific Operations
| Operation | Description | 
|---|---|
list[i] = x | Replaces the element at index i with x. | 
list.append(x) | Adds x to the end of the list. | 
list.insert(i, x) | Inserts x at position i in the list. | 
list.pop(i) | Removes and returns the element at index i. If i is omitted, the last element is removed. | 
list.remove(x) | Removes the first occurrence of x in the list. | 
list.sort() | Sorts the list in ascending order. | 
list.reverse() | Reverses the order of the elements in the list. | 
list.clear() | Removes all elements from the list. | 
list.copy() | Returns a shallow copy of the list. | 
list.extend(other_list) | Appends all elements from other_list to the current list. | 
List Comprehension
- 
Basic: Creates new list by evaluating the expression for each element in the sequence.
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16] - 
With Condition: Adds elements to the new list only if the condition is met.
 - 
evens = [x for x in range(10) if x % 2 == 0] # [0, 2, 4, 6, 8] 
Sets
A set stores unique elements (no duplicates).
- Sets are unordered, so elements don't have a specific index.
 - We can add or remove values, but cannot change them once added.
 
Sets don’t have an index, so we can't access elements like a list using square brackets.
Creating a Set
Run command below:
attendees = {"Alice", "Bob", "Alice"}
print(attendees)
Output:
{'Bob', 'Alice'}
Even though "Alice" was added twice, the set only keeps one instance.
Convert List to Set
When you convert the list to a set, the duplicates will be removed
my_list = [1, 2, 2, 3, 3, 4]
my_set = set(my_list)
print(my_set)
Output:
{1, 2, 3, 4}
Sorting a Set
Although sets are unordered, we can sort them:
attendees = {"Alice", "Bob", "Charlie"}
sorted_attendees = sorted(attendees)
print(sorted_attendees)
Output:
['Alice', 'Bob', 'Charlie']
Tuples
Tuples are like lists but are immutable and defined with parentheses ( ).
- Useful when element positions must remain fixed/
 - Unpacking stores tuple elements into separate variables
 - Tuples are ordered, so we can access elements by their index.
 
Creating a Tuple
locations = ("New York", "Los Angeles", "Chicago")
print(locations)
Output:
('New York', 'Los Angeles', 'Chicago')
Accessing a Tuple
Just like lists, we can access elements in a tuple using an index.
print(locations[1])
Output:
Los Angeles
Dictionaries
Dictionaries are a mutable data structure that organizes data into key-value pairs. Unlike lists, data in dictionaries is accessed using keys, which can be of various data types.
- 
Defined with curly brackets
animals = {"bears": 10, "lions": 1, "tigers": 2} - 
Use keys to access values
animals["bears"] ## this will return 10 - 
Use
into check for a key's existenceif "bears" in animals - 
Can add, remove, or modify elements
animals["zebras"] = 2 ## This adds a new pair 
Modifying Dictionaries
- Add or modify a value: 
animals["bears"] = 11changes the value for "bears". - Remove a key-value pair: 
del animals["lions"]deletes the entry for "lions". 
Iterating Over Dictionaries
Use a for loop to iterate over keys or access values:
- Iterate keys: 
for key in animals:. - Access key-value pairs: 
for key, value in animals.items():. - Get only keys: 
animals.keys(). - Get only values: 
animals.values(). 
Dictionary Methods
| Method | Description | 
|---|---|
len(dictionary) | Returns the number of items in the dictionary | 
dictionary[key] | Accesses the item with key key | 
dictionary[key] = value | Sets the value associated with key | 
del dictionary[key] | Removes the item with key key | 
dictionary.get(key, default) | Returns the element for key, or default if it's not present | 
dictionary.keys() | Returns a sequence of the keys in the dictionary | 
dictionary.values() | Returns a sequence of the values in the dictionary | 
dictionary.update(other_dictionary) | Updates with items from another dictionary | 
dictionary.clear() | Removes all items from the dictionary | 
For more information, refer to the official documentation for dictionary operations and methods.