DEV Community

M__
M__

Posted on

List Comprehension

Hi there, I am back with another python concept; list comprehension.

A list is a collection of related data e.g. a collection of my favorite movies or books. Lists in python can contain numbers, strings, lists etc. In python you can create lists like so:

my_movies  = ['Gone Girl’, ‘The Current War’, ‘Crazy Rich Asians']

#if you are creating a list of a number of elements from input given
my_movies = [] #declare an empty list
for movie in range (3): #loop through 3 elements
    movie = input () #accept input from the user
    my_movies.append(movie ) #add that input to your list

print(my_movies) #display your complete list

Enter fullscreen mode Exit fullscreen mode

A list comprehension is a simple way of creating lists in one line instead of writing many lines of code. One thing I noticed is when using list comprehensions most of the time ranges are involved:

#loops through numbers starting from 1 and stopping at 11(not inclusive)
first_ten_numbers = [n for n in range (1,11)]
print(first_ten_numbers)

'''
Output:
[1,2,3,4,5,6,7,8,9,10]
'''
Enter fullscreen mode Exit fullscreen mode

One can also use ‘if- statements’ in list comprehensions to check a certain condition:

#loops through numbers starting from 1 and stopping at 11(not inclusive) and display only even numbers
first_ten_even_numbers = [n for n in range (1,11) if n%2 == 0]
print(first_ten_even_numbers)
'''
Output:
[2,4,6,8,10]
'''
Enter fullscreen mode Exit fullscreen mode

It is also possible to make nested lists:

#loops through numbers starting from 1 and stopping at 4(not inclusive) 
multi_list = [[x, y] for x in range (1,4) for y in range (1,4)]
print(multi_list)
'''
Output:
[[1, 1], [1, 2], [1, 3], [2, 1], [2, 2], [2, 3], [3, 1], [3, 2], [3, 3]] 
'''
Enter fullscreen mode Exit fullscreen mode

List comprehensions can be very helpful when you need to create simple lists and it saves you a couple lines of code so it’s worth noting.

Top comments (0)