Lesson Progress
0% Complete

Lists are the most versatile data stracture in Python. They are similar to arrays in other languages. A list is a comma separated values between square brackets. Lists may contain items of different types i.e integers, strings or another list.


list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

Like strings, list indices start at 0, and lists can be indexed and sliced.

python">list1[0]:-  physics

list2[2:5]:-  [3, 4, 5] 

Assignment to slices is also possible, and this can even change the size of the list or clear it entirely:

python">>>> letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g']

>>> letters

['a', 'b', 'c', 'd', 'e', 'f', 'g']

>>> # replace some values

>>> letters[2:5] = ['C', 'D', 'E']

>>> letters

['a', 'b', 'C', 'D', 'E', 'f', 'g']

>>> # now remove them

>>> letters[2:5] = []

>>> letters

['a', 'b', 'f', 'g']

>>> # clear the list by replacing all the elements with an empty list

>>> letters[:] = []

>>> letters


Lists also support operations like concatenation:

>>> list2 + [36, 49, 64, 81, 100]

[1, 2, 3, 4, 5 , 36, 49, 64, 81, 100]


Updating a List

Unlike strings, which are immutable, lists are a mutable type, i.e. it is possible to change their content: Example

python">>>> cubes = [1, 8, 27, 65, 125]  # something's wrong here

>>> 4 ** 3  # the cube of 4 is 64, not 65!


>>> cubes[3] = 64  # replace the wrong value

>>> cubes

[1, 8, 27, 64, 125]

You can also add new items at the end of the list, by using the append()

python">shoppingList = [] # An empty list initialized  by empty square brackets





print shoppingList

print shoppingList[0]

print shoppingList[2]


python">['tomatoes', 'bread', 'tissue', 'pens']



Delete List Elements

To remove an item from a list given its index instead of its value we use the del statement. This differs from the pop() method which returns a value. The del statement can also be used to remove slices from a list or clear the entire list. For example:

python">>>> a = [-1, 1, 66.25, 333, 333, 1234.5]

>>> del a[0]

>>> a

[1, 66.25, 333, 333, 1234.5]

>>> del a[2:4]

>>> a

[1, 66.25, 1234.5]

>>> del a[:]

>>> a


del can also be used to delete entire variables:

python">>> del a

The built-in function len() is used to get the length of a list

python">>>> letters = ['a', 'b', 'c', 'd']

>>> len(letters)


To iterate over items in a list we use range() or membership operator (in).

For example to iterate and print all items in the shopping list:

python">shoppingList = ['tomatoes', 'bread', 'tissue', 'pens']

for item in shoppingList:

print item



Using range to iterate over a list numbers

python">list2 = [1, 2, 3, 4, 5 ]

for i in range(len(list2)):

    print “Number at index”, i, "is", list[i]

Output: Notice how we access the value using indices

Number at index  0 is 1
Number at index  1 is 2
Number at index  2 is 3
Number at index  3 is 4
Number at index  4 is 5


Built-in List Functions & Methods

Python includes the following list functions −

cmp(list1, list2)

Compares elements of both lists.


Gives the total length of the list.


Returns item from the list with max value.


Returns item from the list with min value.


Converts a tuple into list.

Python includes following list methods


Appends object obj to list


Returns count of how many times obj occurs in list


Appends the contents of seq to list


Returns the lowest index in list that obj appears

list.insert(index, obj)

Inserts object obj into list at offset index


Removes and returns last object or obj from list


Removes object obj from list


Reverses objects of list in place


Sorts objects of list, use compare func if given