Python Lists

In Python, a list is a built-in dynamic sized an array (automatically grows and shrinks). We can store all types of items (including another list) in a list. A list may contain mixed type of items, this is possible because a list mainly stores references at contiguous locations and actual items maybe stored at distinct locations.

  • List can contain duplicate items.
  • List in Python are Mutable. Hence, we can modify, replace or delete the items.
  • List are ordered. It maintain the order of elements based enabled how they are added.
  • Accessing items in List can be done directly using their position (index), starting from 0.

Python a = [10, 20, 15]

print(a)
Output

[10, 20, 15]

Creating a List

Here are some popular functions/methods to create a list:

Using Square Brackets


Python 

# List of integers
a = [1, 2, 3, 4, 5]

# List of strings
b = ['apple', 'banana', 'mango']

# Mixed data types
c = [1, 'hello', 3.14, True]

print(a)
print(b)
print(c)
Output

[1, 2, 3, 4, 5]
['apple', 'banana', 'mango']
[1, 'hello', 3.14, True]

Using list() Constructor

We can also create a list by passing an iterable (like a string, tuple, or another list) to list() function.

Python 

# From a tuple
a = list((1, 2, 3, 'apple', 4.5))  

print(a)
Output

[1, 2, 3, 'apple', 4.5]

Creating List with Repeated Elements

We can create a list with repeated elements using the multiplication operator.


Python
# Create a list [2, 2, 2, 2, 2]

a = [2] * 5

# Create a list [0, 0, 0, 0, 0, 0, 0]
b = [0] * 7

print(a)
print(b)
Output

[2, 2, 2, 2, 2]
[0, 0, 0, 0, 0, 0, 0]

Accessing List Elements

Elements in a list can be accessed using indexing. Python indexes start at 0, so a[0] will access the first element, while negative indexing allows us to access elements from the end of the list. simillar as index -1 represents the last elements of list.


Python 

a = [10, 20, 30, 40, 50]
# Access first element
print(a[0])    

# Access last element
print(a[-1])
Output

10
50

Adding Elements into List

We can add elements to a list using the following methods:

  • append(): Adds an element at the end of the list.
  • extend(): Adds multiple elements to the end of the list.
  • insert(): Adds an element at a specific position.


Python 

# Initialize an empty list
a = []

# Adding 10 to end of list
a.append(10)  
print("After append(10):", a)  

# Inserting 5 at index 0
a.insert(0, 5)
print("After insert(0, 5):", a) 

# Adding multiple elements  [15, 20, 25] at the end
a.extend([15, 20, 25])  
print("After extend([15, 20, 25]):", a) 
Output

After append(10): [10]
After insert(0, 5): [5, 10]
After extend([15, 20, 25]): [5, 10, 15, 20, 25]

Updating Elements into List

We can change the value of an element by accessing it using its index.

Python 

a = [10, 20, 30, 40, 50]
# Change the second element
a[1] = 25 

print(a)  
Output

[10, 25, 30, 40, 50]

Removing Elements from List

We can remove elements from a list using:

  • remove(): Removes the first occurrence of an element.
  • pop(): Removes the element at a specific index or the last element if no index is specified.
  • del statement: Deletes an element at a specified index.


Python 

a = [10, 20, 30, 40, 50]
# Removes the first occurrence of 30
a.remove(30)  
print("After remove(30):", a)

# Removes the element at index 1 (20)
popped_val = a.pop(1)  
print("Popped element:", popped_val)
print("After pop(1):", a) 

# Deletes the first element (10)
del a[0]  
print("After del a[0]:", a)  
Output

After remove(30): [10, 20, 40, 50]
Popped element: 20
After pop(1): [10, 40, 50]
After del a[0]: [40, 50]

Iterating Over Lists

We can iterate the Lists easily by using a for loop or other iteration methods. Iterating over lists is useful when we may be interested to do some operation enabled each item or access specific items based enabled certain conditions. Let’s take an example to iterate over the list using for loop.

Using for Loop


Python 

a = ['apple', 'banana', 'cherry','mango']
# Iterating over the list
for item in a:
    print(item)
Output

apple
banana
cherry
mango

To learn various other methods, please refer to iterating over lists.

Nested Lists in Python

A nested list is a list within another list, which is useful for representing matrices or tables. We can access nested elements by chaining indexes.


Python 

  matrix = [ 
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# Access element at row 2, column 3
print(matrix[1][2]) 
Output

6

To learn more, please refer to Multi-dimensional lists in Python.

Explore More

Python 10 Programs for Beginners

Program 1:Write a program to create a 2D array using NumPy. Output: Program 2: Write a program to convert a python list to a NumPy array. Output: Program 3: Write a program to create matrix of 3×3 from 11 to 30. Output: Program 4: Write a program to create a data frame to store data of candidates who appeared in

Find index of first occurrence when an unsorted array is sorted

Find index of first occurrence when an unsorted an array is sorted Given an unsorted an array and a number x, find an index of first occurrence of x when

Find sum non repeating distinct elements array

Find sum of non-repeating (distinct) elements in an array Given an integer an array with repeated elements, the task is to find the sum of all distinct elements in the