Negative slicing in Python lists

Negative slicing in Python lists lets you access elements from the end of the list. It’s a handy way to get a portion of a list without knowing its exact length. In negative slicing, you use negative numbers as indices. The index -1 refers to the last element, -2 to the second to last, and so on. The basic syntax is list[start:stop:step], where start and stop can be negative.

Here are 20 examples of negative slicing with a simple list numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9].

Basic Negative Slicing

  1. Get the last element: numbers[-1]Result: 9
  2. Get the last three elements: numbers[-3:]Result: [7, 8, 9]
  3. Get all elements except the last one: numbers[:-1]Result: [0, 1, 2, 3, 4, 5, 6, 7, 8]
  4. Get elements from the third to last to the second to last: numbers[-3:-1]Result: [7, 8]
  5. Get elements from the fifth to last to the last: numbers[-5:]Result: [5, 6, 7, 8, 9]

Combining Positive and Negative Indices

  1. Get elements from index 2 to the second to last: numbers[2:-1]Result: [2, 3, 4, 5, 6, 7, 8]
  2. Get elements from the third to last to index 8: numbers[-3:9]Result: [7, 8]
  3. Get elements from index 0 to the fourth to last: numbers[:-4]Result: [0, 1, 2, 3, 4, 5]
  4. Get elements from the sixth to last to index 7: numbers[-6:8]Result: [4, 5, 6, 7]

Using Negative Step Values

  1. Reverse the entire list: numbers[::-1]Result: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
  2. Get the last three elements in reverse order: numbers[-1:-4:-1]Result: [9, 8, 7]
  3. Reverse the list from the second to last to the third element: numbers[-2:2:-1]Result: [8, 7, 6, 5, 4, 3]
  4. Get elements from the end, skipping every other one: numbers[::-2]Result: [9, 7, 5, 3, 1]
  5. Get the first three elements in reverse order using a negative step: numbers[2::-1]Result: [2, 1, 0]
  6. Reverse the first five elements: numbers[4::-1]Result: [4, 3, 2, 1, 0]

More Complex Examples

  1. Get elements from the fourth to last to the end, with a step of 2: numbers[-4::2]Result: [6, 8]
  2. Slice from the last element to the fifth element in reverse: numbers[-1:4:-1]Result: [9, 8, 7, 6, 5]
  3. Get the middle part of the list, from the fourth to last to the third element: numbers[-4:3]Result: [] (An empty list, since the start index is after the stop index and the step is positive)
  4. Get every other element in reverse order, starting from the second to last: numbers[-2::-2]Result: [8, 6, 4, 2, 0]
  5. Get the first three elements by slicing from the fourth to last element in reverse: numbers[-8:-11:-1]Result: [2, 1, 0]

Similar Posts

  • Sets in Python

    Sets in Python A set in Python is an unordered collection of unique elements. Sets are mutable, meaning you can add or remove items, but the elements themselves must be immutable (like numbers, strings, or tuples). Key Characteristics of Sets: Different Ways to Create Sets in Python Here are various methods to create sets in…

  • Finally Block in Exception Handling in Python

    Finally Block in Exception Handling in Python The finally block in Python exception handling executes regardless of whether an exception occurred or not. It’s always executed, making it perfect for cleanup operations like closing files, database connections, or releasing resources. Basic Syntax: python try: # Code that might raise an exception except SomeException: # Handle the exception else:…

  • String Validation Methods

    Complete List of Python String Validation Methods Python provides several built-in string methods to check if a string meets certain criteria. These methods return True or False and are useful for input validation, data cleaning, and text processing. 1. Case Checking Methods Method Description Example isupper() Checks if all characters are uppercase “HELLO”.isupper() → True islower() Checks if all…

  • Variable Length Positional Arguments in Python

    Variable Length Positional Arguments in Python Variable length positional arguments allow a function to accept any number of positional arguments. This is done using the *args syntax. Syntax python def function_name(*args): # function body # args becomes a tuple containing all positional arguments Simple Examples Example 1: Basic *args python def print_numbers(*args): print(“Numbers received:”, args) print(“Type of…

  • Decorators in Python

    Decorators in Python A decorator is a function that modifies the behavior of another function without permanently modifying it. Decorators are a powerful tool that use closure functions. Basic Concept A decorator: Simple Example python def simple_decorator(func): def wrapper(): print(“Something is happening before the function is called.”) func() print(“Something is happening after the function is…

Leave a Reply

Your email address will not be published. Required fields are marked *