← Back to Lessons
Edit on Github

Working with Lists in Python

Introduction to Python lists

Mastering the use of lists and loops is one of the 5 fundamental skills of building algorithms:

  1. Variables.
  2. Conditionals.
  3. Lists.
  4. Loops.
  5. Functions.

What is a List?

A list is, normally, any collection of values. The rules of how to add or remove elements from that list can change from one programming language to another. But – generally – they are the only ways for developers to create elements. Lists are not the only way we have to list store multiple values at once but it is the most used tool for that purpose. For example: list of students, list of artists, list of transactions…anything!

This primitive data-type does a lot more stuff than the others.

Every list has the same basic concepts:

The items: are the actual values inside in each position of the list.

The length: is the size of the list (how many items the list has).

Index: is the position of the element.

what is an list define list

☝List positions start a zero (0); the first element is the element in the position zero (0)

How to Declare a List?

These are different examples of list declarations:

myList = [] # empty list myList = ["Apple", "Orange", "Donkey"] # The only way to declare a "list" - a mutable and ordered collection of items myTuple = ("Apple", "Orange", "Donkey") # This a "tuple" - a more limited, ordered but immutable collection of items mySet = {"Apple", "Orange", "Donkey"} # This is a "set" - a more limited, unordered and immutable collection of items

Access Items in the List

To access a specific element in a list, you need an index. We call index the integer value that represents the position of the element you want to access/get/retrieve.

The index always must start at zero (0). That means that an List of 2 items can have index=0 or index=1. Trying to get the 2nd position will return "undefined" because it will mean that we are trying to access the third element (which does not exist). For example, to get any items in the list you can do the following:

print(myList[0]) # print first element on the console aux = myList[3] print(aux); # print the 4th element on the console print(myList[len(myList) - 1]); # print the last element on the console

Update Items in the List

If you want you can reset or update any item inside of a list using its index like this:

myList[5] = 'Whatever value' # Assign a value to the 6th element on the list

Adding Elements to Python Lists (append and insert)

Using append in Python Lists

The first way is to add the element to the end of the list, you should use this method every time you can because it's a lot faster than insert.

myList = ['Pedro','Juan','Maria'] myList.append('Chris') # add Chris to the end of the list print(myList); # Output: ['Pedro','Juan','Maria','Chris'];

Using insert in Python Lists

Using insert is easier for the developer because it will let you pick the positions in which you want to inster the element, but it is a slower method (worse performance):

myList = ['Pedro','Juan','Maria'] myList.insert(1,'Chris') # add Chris between Pedro and Juan print(myList); # Output ['Pedro','Chris','Juan','Maria'];

Removing Elements from a Python List (pop, remove, delete)

Python has many ways to delete an element from a list

Using POP

It will remove the last element only!

myList = ['Pedro','Chris','Juan','Maria'] myList.pop() print(myList) # Output ['Pedro','Chris','Juan']

Using Remove

It will let you remove the first occurence of an element by its name.

# If you want to delete 'Chris', you need to do the following: myList = ['Pedro','Chris','Juan','Maria','Chris'] myList.remove('Chris') print(myList) # Output ['Pedro','Juan','Maria','Chris'];

Using Delete

It will allow you to delete many items at once, you have to specify starting possition and ending possition.

# If you want to delete 'Chris', you need to do the following: myList = ['Pedro','Chris','Juan','Maria','Pepe','Mario','Bob'] del myList[2:5] #this statement deletes the characters at indexes 2, 3 and 4 print(myList) # Output ['Pedro', 'Chris', 'Mario', 'Bob']

Looping a List

Normally, when you manipulate lists, you have to loop all the items. For example: order them manually, flip them, filter them, etc. There are many ways you can loop an entire list but the most used one is the for loop.

myList = [3423,5,4,47889,654,8,867543,23,48,56432,55,23,25,12] for number in myList: print(number)

Looping using a position

Sometimes it is useful to loop the array using each element's position (index). We can do that by using the range() function. By default the range will start from index zero and continue until a specified number is reached, not including that index number:

myList = ['Pedro','Chris','Mario','Bob'] # the range will cut off before len(myList) is reached, and therefore we don't need to write (len(myList)-1) for i in range(len(myList)): print("The positions is " + str(i) + " for the element " + myList[i]) ### Output: # The positions is 0 for the element Pedro # The positions is 1 for the element Chris # The positions is 2 for the element Mario # The positions is 3 for the element Bob

It is also possible to specify the starting index in the range, as well as the increment, by adding a starting point (the first parameter), and an increment value (the last parameter) in the range method:

myList = ['Pedro','Chris','Mario','Bob', "Greg", "Kyle"] for i in range(1, 6, 2): # range(start value, end value (non inclusive), increment value) print("The positions is " + str(i) + " for the element " + myList[i]) ### Output: # The positions is 1 for the element Chris # The positions is 3 for the element Bob # The positions is 5 for the element Kyle

Subscribe for more!






The most efficient way to learn: Join a cohort with classmates like yourself, live streamings, coding jam sessions, live mentorships with real experts and keep the motivation.


From zero to getting paid as a developer, learn the skills of the present and future. Boost your professional career and get hired by a tech company.


Start a career in data science and analytics. A hands-on approach with interactive exercises, chat support, and access to mentorships.


Keep your motivation with this 30 day challenge. Join hundreds of other developers coding a little every day.


Start with Python and Data Science, Machine Learning, Deep Learning and maintaining a production environment in A.I.

©4Geeks Academy LLC 2019

Privacy policies

Cookies policies

Terms & Conditions