Splitting a List in Half Using Python’s Middle Function

Lists are one of the most commonly used data structures in Python. But did you know that there is a function called middle() for lists which returns a list with the elements at both ends cut? In this …

Updated October 17, 2023

Lists are one of the most commonly used data structures in Python. But did you know that there is a function called middle() for lists which returns a list with the elements at both ends cut? In this article, we will learn how to use it effectively!

Python provides us an easy way to split a list into two halves using its in-built function ‘middle’. The Python list ‘middle’ method splits the list in half and returns a new list containing both ends of the original list.

To use this functionality, firstly import the required module:

from more_itertools import middle

Next, initialize your list:

my_list = [1,2,3,4,5,6,7,8,9]

You can now split the list in half using ‘middle’ method. It will return a new list with elements at both ends of the original list:

half_list = middle(my_list)
print(half_list)

This would output: [1,2,3,4] or [5,6,7,8].

The ‘middle’ function is very useful when you need to process elements on both ends of a list without altering the original list. It can also be used for lists with an odd number of elements which are always split in half into two separate halves, but it does not make sense to return one more element on the second half if the total length of the list is odd.

Code Samples:

# Importing Middle Function 
from more_itertools import middle

# Initializing List
my_list = [1,2,3,4,5,6,7,8,9]

# Splitting List in Half
half_list = middle(my_list)

print(half_list)

This code snippet would output: [1,2,3,4] or [5,6,7,8].

Make sure to check the package ‘more-itertools’ before using this function. You can install it via pip as follows: pip install more-itertools.

Hey! Do you love Python? Want to learn more about it?
Let's connect on Twitter or LinkedIn. I talk about this stuff all the time!