index(), count(), reverse(), sort()
Python List Methods: index(), count(), reverse(), sort()
Let’s explore these essential list methods with multiple examples for each.
1. index() Method
Returns the index of the first occurrence of a value.
Examples:
python
# Example 1: Basic usage
fruits = ['apple', 'banana', 'cherry', 'banana']
print(fruits.index('banana')) # Output: 1
# Example 2: With start parameter
print(fruits.index('banana', 2)) # Output: 3 (starts searching from index 2)
# Example 3: ValueError when not found
try:
print(fruits.index('orange'))
except ValueError:
print("Not found") # Output: Not found
# Example 4: With start and end parameters
numbers = [1, 2, 3, 4, 3, 5]
print(numbers.index(3, 2, 5)) # Output: 4 (finds 3 between indexes 2-5)
2. count() Method
Returns the number of occurrences of a value.
Examples:
python
# Example 1: Basic count
numbers = [1, 2, 3, 1, 4, 1, 5]
print(numbers.count(1)) # Output: 3
# Example 2: Count with strings
words = ['a', 'the', 'a', 'an', 'the']
print(words.count('the')) # Output: 2
# Example 3: Count with no matches
print(numbers.count(9)) # Output: 0
# Example 4: Count with nested lists (only counts top-level)
nested = [[1, 2], [3, 4], [1, 2]]
print(nested.count([1, 2])) # Output: 2
3. reverse() Method
Reverses the elements of the list in place (modifies original).
Examples:
python
# Example 1: Basic reverse nums = [1, 2, 3, 4] nums.reverse() print(nums) # Output: [4, 3, 2, 1] # Example 2: Reverse strings colors = ['red', 'green', 'blue'] colors.reverse() print(colors) # Output: ['blue', 'green', 'red'] # Example 3: Reverse in place vs reversed() original = [1, 2, 3] # reversed() returns an iterator and doesn't modify original print(list(reversed(original))) # Output: [3, 2, 1] print(original) # Output: [1, 2, 3] (unchanged) # Example 4: Reverse empty list empty = [] empty.reverse() print(empty) # Output: [] (no error)
4. sort() Method
Sorts the list in place (modifies original).
Examples:
python
# Example 1: Basic sort nums = [3, 1, 4, 2] nums.sort() print(nums) # Output: [1, 2, 3, 4] # Example 2: Reverse sort nums.sort(reverse=True) print(nums) # Output: [4, 3, 2, 1] # Example 3: Sort strings fruits = ['banana', 'apple', 'cherry', 'date'] fruits.sort() print(fruits) # Output: ['apple', 'banana', 'cherry', 'date'] # Example 4: Custom sort with key words = ['apple', 'Banana', 'cherry', 'Date'] words.sort(key=str.lower) # Case-insensitive sort print(words) # Output: ['apple', 'Banana', 'cherry', 'Date'] # Example 5: Sort vs sorted() original = [3, 1, 2] # sorted() returns new list and doesn't modify original new_list = sorted(original) print(new_list) # Output: [1, 2, 3] print(original) # Output: [3, 1, 2] (unchanged)
Key Differences:
reverse()vsreversed(): One modifies in place, one returns new iteratorsort()vssorted(): One modifies in place, one returns new listindex()raises ValueError if not foundcount()returns 0 if no matches found