Python List Basics

Srijan Saumya
hackinbits
Published in
3 min readOct 29, 2018

Python list is a sequence of objects in an ordered fashion. It is similar to arrays in other programming languages but it is heterogeneous in nature. A single list can hold different types of data objects(string, integer, float etc.). It can hold other lists also, a list inside another list is called a nested list.

Note: You can run examples in this article on trinket.io online.

Create an empty list

>>> list1 = []

>>> print list1

[] #output

Create a list with three elements

>>> list1 = [1, "hackinbits.com", 2.3]

Accessing a list element

>>> list1 = [1, "hackinbits.com", 2.3]

>>> list1[1]

'hackinbits.com' #output

Updating a list

>>> list1 = [1, 2, 3, 4]

>>> list1[1] = 34

>>> print list1

[1, 34, 3, 4] #output

An empty list can also be created using list() method

>>> list1 = list()

>>> print list1

[] #output

There are various operations that can be performed on lists using in-build list methods.

append()

Add a new element to the end of the list.

>>> list1 = [1, 2]

>>> print list1

[1, 2] #output

>>> list1.append(3)

>>> list1.append(4)

>>> print list1

[1, 2, 3, 4] #output

insert()

Insert a new element at the specified index.

>>> list1 = [1, 2, 3]

>>> list1.insert(23, 1)

>>> print list1

[1, 23, 2, 3] #output

remove()

Deletes the specified element from the list.

>>> list1 = [1, 2, 3]

>>> list1.remove(2)

[1, 3] #output

pop()

Removes an item from the list and also returns it.

>>> list1 = [1, 2, 3]

>>> item = list1.pop()

>>> print list1

[1, 2] #output

>>> print item

3 #output

index()

Returns the index of an element that matches first.

>>> list1 = [1, 2, 3, 4]

>>> list1.index(3)

2 #output

count()

Returns the total number of item count, passed as an argument to the method.

>>> list1 = [1, 2, 3, 4, 5, 3]

>>> list1.count(3)

2 #output

reverse()

Inverts the order of the elements in a list.

>>> list1 = [1, 2, 3]

>>> list1.reverse()

[3, 2, 1] #output

extend()

Extends a list by adding elements from another list (passed as a parameter).

>>> list1 = [1, 2]

>>> list2 = [3, 4]

>>> list1.extend(list2)

>>> print list1

[1, 2, 3, 4] #output

>>> print list2

[3, 4] #output

sort()

Orders the elements of a list in an ascending manner.

>>> list1 = [5, 6,3, 90, 3, 2]

>>> list1.sort()

>>> print list1

[2, 3, 3, 5, 6, 90] #output

A list copy operation can be performed using the assignment operator.

>>> list1 = [1, 2, 3, 4]

>>> list2 = list1

>>> print list2

[1, 2, 3, 4] #output

This kind of copy using the assignment operator is called shallow copy. Any changes in list1 will make the same change in list2.

>>> list1[2] = 22

>>> print list2

[1, 2, 22, 4] #output

Solution to shallow copy in python list:

Using the in-built copy module

>>> import copy

>>> list1 = [1, 2, 3, 4]

>>> list2 = copy.deepcopy(list1)

>>> print list2

[1, 2, 3, 4] #output

>>> list1[1] = 22

>>> print list2

[1, 2, 3, 4] #output

Creating another list and copying the content

>>> list1 = [1, 2, 3, 4]

>>> list2 = []

>>> for i in list1: list2.append(i)

>>> list1[1] = 22

>>> print list2

[1, 2, 3, 4] #output

Originally published at hackinbits.com.

--

--

Srijan Saumya
hackinbits

Technology Enthusiast, Lifelong Learner, Software Engineer, Developer