Python Lists (original) (raw)

Last Updated : 11 Mar, 2025

In Python, a list is a built-in dynamic sized 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 different locations.

**Example :

Python `

Creating a Python list with different data types

a = [10, 20, "GfG", 40, True]

print(a)

Accessing elements using indexing

print(a[0]) # 10 print(a[1]) # 20 print(a[2]) # "GfG" print(a[3]) # 40 print(a[4]) # True

Checking types of elements

print(type(a[2])) # str print(type(a[4])) # bool

`

**Explanation:

python-list

Python List

**Note: Lists Store References, Not Values

Each element in a list is not stored directly inside the list structure. Instead, the list stores references (pointers) to the actual objects in memory. **Example (from the image representation).

Table of Content

Creating a List

Here are some common methods to create a list:

Using Square Brackets

Python `

List of integers

a = [1, 2, 3, 4, 5]

List of strings

b = ['apple', 'banana', 'cherry']

Mixed data types

c = [1, 'hello', 3.14, True]

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

`

Output

[1, 2, 3, 4, 5] ['apple', 'banana', 'cherry'] [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. Like 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])

`

Adding Elements into List

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

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:

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 want to do some operation on each item or access specific items based on certain conditions. Let’s take an example to iterate over the list using for loop.

Using for Loop

Python `

a = ['apple', 'banana', 'cherry']

Iterating over the list

for item in a: print(item)

`

Output

apple banana cherry

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])

`

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

Quiz:

Python List Operation Programs

Basic Example on Python List