Python Lists

- - Python, Tutorials

The intentions of this article is to host a set of example operations that can be performed around lists, a crucial data structure in Python.

Lists

In Python, List is an object that contains a sequence of other arbitrary objects. Lists unlike tuples are mutable objects.

Defining a list

Lists are defined by enclosing a sequence of objects inside square brackets, “[” and “]”. A list can contain sequence of mixed data types.

>>> # empty list
...
>>> a = []
>>>
>>> type(a)
<class 'list'>
>>>
>>> # list containing same data types
...
>>>
>>> a = [1, 4, 9, 16]
>>>
>>> type(a)
<class 'list'>
>>>
>>> # list containing different data types
...
>>> a = [1, "python", 7.4, True]
>>>
>>> type(a)
<class 'list'>
>>>
A list can be nested
>>> # nested list
...
>>> a = [[1, 4, 9], ["thetaranights.com", "blog", "python"]]
>>> type(a)
<class 'list'>
>>>
>>>
>>> a = [[1, 4, 9], "thetaranights.com"]
>>>
>>> type(a)
<class 'list'>
>>>
Accessing elements from a list via index

List index is used to access elements of a list. List index starts from 0 and should be an integer.

>>> a = [[1, 4, 9], ["thetaranights.com", "blog", "python"]]
>>> a[0]
[1, 4, 9]
>>> a[0][2]
9
>>> a[1][0]
'thetaranights.com'
>>>
Negative Indexing

Python allows accessing elements from a list via negative indexes such that the last element would be accessed via list_name[-1] and second last element would be accessed via list_name[-2]

>>> a = [1, 4, 9, 16]
>>> a[-1]
16
>>> a[-2]
9
>>> a[-3]
4
>>>
Slicing
>>> a = [1, 4, 9, 16, 25]
>>> a[1:3]
[4, 9]
>>> a[:4]
[1, 4, 9, 16]
>>> a[3:]
[16, 25]
>>> a[:-1]
[1, 4, 9, 16]
>>>
Lists are mutable
>>> a = [1, 4, 9, 16, 25]
>>>
>>> a [0] = "mutable"
>>> a
['mutable', 4, 9, 16, 25]
>>>
>>> a[:2] = [256, 1024] # changing a range of elements of a list to the sequence given in the right of assignment operator
>>> a
[256, 1024, 9, 16, 25]
>>>
Adding elements to an existing list
>>> a = [1, 4, 9, 16, 25]
>>> a.append(36)
>>> a
[1, 4, 9, 16, 25, 36]
>>>
Extending a list with another sequence
>>> a = [1, 4, 9, 16]
>>> a.extend([25, 36, 49])
>>> a
[1, 4, 9, 16, 25, 36, 49]
>>> a.extend((64, 91))
>>> a
[1, 4, 9, 16, 25, 36, 49, 64, 91]
>>>
Concatenation and Multiplication
>>> a = [1, 4, 9, 16]
>>> a + [25, 36, 49]
[1, 4, 9, 16, 25, 36, 49]
>>>

>>> # multiplication
...
>>> a * 7
[1, 4, 9, 16, 1, 4, 9, 16, 1, 4, 9, 16, 1, 4, 9, 16, 1, 4, 9, 16, 1, 4, 9, 16, 1, 4, 9, 16]
>>>
Add items to a list before certain index
>>> # first item to the insert() is the index and the later is the value to insert
...
>>> a = [1, 4, 9, 16, 25]
>>> a.insert(2, "new value")
>>> a
[1, 4, 'new value', 9, 16, 25]
>>>
Various other methods on a list
method description usage
append() Append object to the end of list L.append(object)
clear() Remove all the items from list L.clear()
copy() A shallow copy of list L.copy()
count() Return number of occurrences of value passed as argument to the method L.count(value)
extend() Extend list by appending elements from the iterable L.extend(iterable)
index() Return first index of the value L.index(value, [start, [stop]])
insert() Insert object before index L.insert(index, object)
pop() Remove and return item at index (defaults to last) L.pop([index])
remove() Remove first occurrence of value L.remove(value)
reverse() Reverse the list in-place L.reverse()
sort() Sort in-place L.sort(key=None, reverse=False)
List built-ins
built-in description
len() Return the number of elements in a list
max() Returns the largest element in the list
min() Returns the smallest element in the list
sorted() Returns the sorted version of the list. It does not sort the given list itself.
sum() Returns the sum of all the elements of the list
all() Returns true if all the elements of the list evaluate to true (See truthy and falsy concepts)
any() Returns true if any element of the list evaluates to true
enumerate() Returns enumerate object that contains the index and corresponding values of an iterable.
list() Converts an iterable (tuple, string, set, dictionary) to a list.
List Comprehension

One of the major features of python is list comprehension. It is a natural way of creating a new list where each element is the result of some operations applied to each member of another sequence of an iterable. The construct of a list comprehension is such that it consists of square brackets containing an expression followed by a for clause then by zero or more for or if clause. List comprehensions always returns a list.

>>> [x ** 2 for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
>>>

In a rather real usage scenarios, the expression after the bracket ‘[‘ is a call to a method/function.

some_list = [function_name(x) for x in some_iterable]

Bhishan Bhandari [22] A one man army producing contents and maintaining this blog. I am a hobbyist programmer and enjoy writing scripts for automation. If you'd like a process to be automated through programming, I also sell my services at Fiverr . Lately, I like to refresh my Quora feeds. Shoot me messages at bbhishan@gmail.com  

Leave a Reply

Your email address will not be published. Required fields are marked *