What’s New ?

The Top 10 favtutor Features You Might Have Overlooked

Read More

Python List Slicing (with Examples)

  • Sep 23, 2024
  • 6 Minute Read
  • Why Trust Us
    We uphold a strict editorial policy that emphasizes factual accuracy, relevance, and impartiality. Our content is crafted by top technical writers with deep knowledge in the fields of computer science and data science, ensuring each piece is meticulously reviewed by a team of seasoned editors to guarantee compliance with the highest standards in educational content creation and publishing.
  • By Kusum Jain
Python List Slicing (with Examples)

One of the most important things to learn as a Python programmer is how to manipulate lists. Today, we will learn about Slicing The Lists in Python, which is useful for various real-life use cases.

What is List Slicing in Python?

List slicing in Pythons means extracting a part of the list by specifying a range of indices. Using the colon (:) operator, we can define the start and end indices of the desired sublist within the original list.

Whether you want a small chunk or the entire list minus a few elements, slicing is like copy-pasting parts of a list.

Example 1: Extracting a Sublist

Consider the following list of numbers: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]. If we want to extract the sublist [3, 4, 5], we can use list slicing as follows:

numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sublist = numbers[2:5]
print(sublist)

 

Output:

[3, 4, 5]

 

Here, the sublist starts from index 2 (inclusive) and ends at index 5 (exclusive). By specifying the desired range, we obtained the desired portion of the list effortlessly.

Example 2: Modifying a Sublist

List slicing also allows us to modify specific portions of a list without altering the entire list. Let's consider a list of fruits: ['apple', 'banana', 'cherry', 'date', 'elderberry']. Suppose we want to replace the second and third elements with 'blueberry' and 'coconut', respectively:

fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']
fruits[1:3] = ['blueberry', 'coconut']
print(fruits)

 

Output:

['apple', 'blueberry', 'coconut', 'date', 'elderberry']

 

By specifying the range [1:3], we effectively replaced the sublist ['banana', 'cherry'] with ['blueberry', 'coconut'].

Example 3: Slicing Lists of Strings

List slicing is not limited to numerical lists; it is equally applicable to lists of strings. Let's consider a list of names: ['Alice', 'Bob', 'Charlie', 'David', 'Eve']. If we wish to extract the first three names, we can accomplish this using list slicing:

names = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']
first_three_names = names[:3]
print(first_three_names)

 

Output:

['Alice', 'Bob', 'Charlie']

 

Here, the slicing expression [:3] instructs Python to extract elements starting from index 0 and ending at index 3 (exclusive), effectively retrieving the desired sublist.

List slicing in Python has a time complexity of O(k), where k is the number of elements in the slice. This means that the time taken to do slicing is proportional to the size of the slice.

Why do we need List Slicing in Python?

List slicing serves a multitude of purposes in Python programming. It provides a convenient means to:

  • Extract subsets of a list based on specific criteria.
  • Modify specific portions of a list without affecting the rest.
  • Access elements in reverse order by utilizing negative indices.
  • Create shallow copies of lists using the slicing syntax.

What makes Slicing so awesome is how you can do it with just an operator, no need for libraries. Whether you need the first half, second half, or every third element, slicing makes it happen.

Conclusion

As we discussed, Python list slicing is a powerful technique that allows developers to extract, modify, and manipulate specific portions of lists effortlessly. If you are still confused, our experts can help with your Python assignments anytime.

FavTutor - 24x7 Live Coding Help from Expert Tutors!

About The Author
Kusum Jain
I am an avid coder on CodeChef, I partake in hackathons regularly. I am an independent and self-motivated student with a love for coding and experiencing new things.