Python Lists

The most fundamental data structure in Python is the sequence. Each element of a sequence is allocated a number - its position or index. The first index is zero, the second index is one, and so on.

Python has six built-in types of sequences, but the generally known ones are lists and tuples, which we will study further.

There are some things that are possible to do with all sequence types. These operations involve indexing, slicing, adding, multiplying, and checking for membership. Additionally, Python has built-in functions for evaluating the length of a sequence and for finding its largest and smallest elements.

Python Lists

The list is a most flexible data type available in Python which can be written as a list of comma-separated values (items) between square brackets. The most important thing about a list is that it is not compulsory for items in a list should be of the same type.

Designing a list is as simple as putting various comma-separated values between square brackets. For instance −

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

Similar to string indices, list indices begin at 0, and lists can be sliced, concatenated and so forth.

Accessing Values in Lists

To access values in lists, use the square brackets for slicing along with the index or indices to get value available at that index. For instance −


list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

When the above code is executed, it generates the following result −

list1[0]: physics 
list2[1:5]: [2, 3, 4, 5]

Updating Lists

Single or multiple elements of lists can be updated by giving the slice on the left-hand side of the assignment operator, and you can add to elements in a list by using append() method. For instance −


list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2]
list[2] = 2001;
print "New value available at index 2 : "
print list[2]


When the above code is executed, it generates the following result −

Value available at index 2 : 
New value available at index 2 : 

Delete List Elements

To eliminate a list element, del statement can be used if you know particularly which element(s) you are deleting and if you do not know, the remove() method can be used. For instance −


list1 = ['physics', 'chemistry', 1997, 2000];
print list1
del list1[2];
print "After deleting value at index 2 : "
print list1

When the above code is executed, generates the following result −

['physics', 'chemistry', 1997, 2000] 
After deleting value at index 2 : 
['physics', 'chemistry', 2000]


Basic List Operations

Lists respond to the + and * operators much like strings; they define concatenation and repetition is too much here, except that the result is a new list, not a string.

Actually, lists respond to all of the general sequence operations which we used on strings in the previous chapter.

Python Expression Results Description
len([1, 2, 3]) 3 Length
[1, 2, 3] + [4, 5, 6] [1, 2, 3, 4, 5, 6] Concatenation
['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] Repetition
3 in [1, 2, 3] True Membership
for x in [1, 2, 3]: print x, 1 2 3 Iteration

Indexing, Slicing, and Matrixes

Because lists are sequences, indexing and slicing work the same way for lists as they do for strings.

Consider the following input −

L = ['spam', 'Spam', 'SPAM!']


Python Expression Results Explanation
L[2] SPAM! Offsets begin at zero
L[-2] Spam Negative: count from the right
L[1:] ['Spam', 'SPAM!'] Slicing fetches sections

Built-in List Functions & Methods

Python involves various list functions described as follows−

Sr.No. Function with Explanation
1 cmp(list1, list2)

Compares elements of both lists.

2 len(list)

Provides the total length of the list.

3 max(list)

Returns item from the list with max value.

4 min(list)

Returns item from the list with min value.

5 list(seq)

Converts a tuple into list.

Python involves following list methods :

Sr.No. Methods with Explanation
1 list.append(obj)

Appends object obj to list

2 list.count(obj)

Returns count of to calculate how many times obj occurs in list

3 list.extend(seq)

Appends the contents of seq to list

4 list.index(obj)

Returns the lowest index in list that obj appears

5 list.insert(index, obj)

Inserts object obj into list at offset index

6 list.pop(obj=list[-1])

Removes and returns last object or obj from list

7 list.remove(obj)

Removes object obj from list

8 list.reverse()

Reverses objects of list in place

9 list.sort([func])

Sorts objects of list, utilize compare func if given