# Python List Slicing

## Python List Slicing

In-order to access a range of elements in a list, you need to slice a list. One way to do this is to use the simple slicing operator i.e. colon(:)

With this operator, one can specify where to start the slicing, where to end, and specify the step. List slicing returns a new list from the existing list.

Syntax:

`Lst[ Initial : End : IndexJump ]`

### Indexing

1. Positive Indexes

Below is a simple program, to display a whole list using slicing.

 `# Initialize list` `Lst ``=` `[``50``, ``70``, ``30``, ``20``, ``90``, ``10``, ``50``]` `# Display list` `print``(Lst[::])`

Output:

`[50, 70, 30, 20, 90, 10, 50]`

The above diagram illustrates a list Lst with its index values and elements.

2. Negative Indexes

Now, let us look at the below diagram which illustrates a list along with its negative indexes.

Index -1 represents the last element and -n represents the first element of the list(considering n as the length of the list). Lists can also be manipulated using negative indexes also.

 `# Initialize list` `Lst ``=` `[``50``, ``70``, ``30``, ``20``, ``90``, ``10``, ``50``]` `# Display list` `print``(Lst[``-``7``::``1``])`

Output:

`[50, 70, 30, 20, 90, 10, 50]`

The above program displays the whole list using the negative index in list slicing.

3. Slicing

As mentioned earlier list slicing is a common practice in Python and can be used both with positive indexes as well as negative indexes. The below diagram illustrates the technique of list slicing:

The below program transforms the above illustration into python code:

 `# Initialize list` `Lst ``=` `[``50``, ``70``, ``30``, ``20``, ``90``, ``10``, ``50``]` `# Display list` `print``(Lst[``1``:``5``])`

Output:

`[70, 30, 20, 90]`

Below are some examples which depict the use of list slicing in Python:

Example 1:

 `# Initialize list` `List` `=` `[``1``, ``2``, ``3``, ``4``, ``5``, ``6``, ``7``, ``8``, ``9``]` `# Show original list` `print``(``"\nOriginal List:\n"``, ``List``)` `print``(``"\nSliced Lists: "``)` `# Display sliced list` `print``(``List``[``3``:``9``:``2``])` `# Display sliced list` `print``(``List``[::``2``])` `# Display sliced list` `print``(``List``[::])`

Output:

```Original List:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Sliced Lists:
[4, 6, 8]
[1, 3, 5, 7, 9]
[1, 2, 3, 4, 5, 6, 7, 8, 9]```

Leaving any argument like Initial, End or IndexJump blank will lead to the use of default values i.e 0 as Initial, length of list as End and 1 as IndexJump.

Example 2:

 `# Initialize list` `List` `=` `[``'Geeks'``, ``4``, ``'geeks !'``]` `# Show original list` `print``(``"\nOriginal List:\n"``, ``List``)` `print``(``"\nSliced Lists: "``)` `# Display sliced list` `print``(``List``[::``-``1``])` `# Display sliced list` `print``(``List``[::``-``3``])` `# Display sliced list` `print``(``List``[:``1``:``-``2``])`

Output:

```Original List:
['Geeks', 4, 'geeks !']

Sliced Lists:
['geeks !', 4, 'Geeks']
['geeks !']
['geeks !']```

A reversed list can be generated by using a negative integer as the IndexJump argument. Leaving the Initial and End as blank. We need to choose the Initial and End value according to a reversed list if the IndexJump value is negative.

Example 3:

 `# Initialize list` `List` `=` `[``-``999``, ``'G4G'``, ``1706256``, ``'^_^'``, ``3.1496``]` `# Show original list` `print``(``"\nOriginal List:\n"``, ``List``)` `print``(``"\nSliced Lists: "``)` `# Display sliced list` `print``(``List``[``10``::``2``])` `# Display sliced list` `print``(``List``[``1``:``1``:``1``])` `# Display sliced list` `print``(``List``[``-``1``:``-``1``:``-``1``])` `# Display sliced list` `print``(``List``[:``0``:])`

Output:

```Original List:
[-999, 'G4G', 1706256, '^_^', 3.1496]

Sliced Lists:
[]
[]
[]
[]```

If some slicing expressions are made that do not make sense or are incomputable then empty lists are generated.

Example 4:

 `# Initialize list` `List` `=` `[``-``999``, ``'G4G'``, ``1706256``, ``3.1496``, ``'^_^'``]` `# Show original list` `print``(``"\nOriginal List:\n"``, ``List``)` `print``(``"\nSliced Lists: "``)` `# Modified List` `List``[``2``:``4``] ``=` `[``'Geeks'``, ``'for'``, ``'Geeks'``, ``'!'``]` `# Display sliced list` `print``(``List``)` `# Modified List` `List``[:``6``] ``=` `[]` `# Display sliced list` `print``(``List``)`

Output:

```Original List:
[-999, 'G4G', 1706256, 3.1496, '^_^']

Sliced Lists:
[-999, 'G4G', 'Geeks', 'for', 'Geeks', '!', '^_^']
['^_^']```

List slicing can be used to modify lists or even delete elements from a list.

Example 5:

 `# Initialize list` `List` `=` `[``1``, ``2``, ``3``, ``4``, ``5``, ``6``, ``7``, ``8``, ``9``]` `# Show original list` `print``(``"\nOriginal List:\n"``, ``List``)` `print``(``"\nSliced Lists: "``)` `# Creating new List` `newList ``=` `List``[:``3``]``+``List``[``7``:]` `# Display sliced list` `print``(newList)` `# Changing existing List` `List` `=` `List``[::``2``]``+``List``[``1``::``2``]` `# Display sliced list` `print``(``List``)`

Output:

```Original List:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Sliced Lists:
[1, 2, 3, 8, 9]
[1, 3, 5, 7, 9, 2, 4, 6, 8]```

By concatenating sliced lists, a new list can be created or even a pre-existing list can be modified.

Last Updated on October 3, 2021 by admin

## Python – after method in TkinterPython – after method in Tkinter

Python | after method in Tkinter Tkinter provides a variety of built-in functions develop interactive

## Python – Pandas DataFrame.transposePython – Pandas DataFrame.transpose

Pandas DataFrame.transpose Pandas DataFrame.transpose() function transpose index and columns of the dataframe. It reflect the

## Python – os.path.exists() methodPython – os.path.exists() method

Python | os.path.exists() method OS module in Python provides functions for interacting with the operating system.

## max() and min() in Pythonmax() and min() in Python

max() and min() in Python This article brings you a very interesting and lesser-known function

## Vectorization in PythonVectorization in Python

Vectorization in Python We know that most of the application has to deal with a

## Python – Remove None values from listPython – Remove None values from list

Python | Remove None values from list Due to the upcoming of Machine Learning, the

## Python OpenCV – cv2.circle() methodPython OpenCV – cv2.circle() method

Python OpenCV | cv2.circle() method OpenCV-Python is a library of Python bindings designed to solve computer