Python Lists: Basics

Learn Python lists to store and manage ordered collections of data. Create, access, modify, and manipulate sequences of elements with this versatile data type.

Python-Lists
Table of Contents

Ready to explore Python lists further? Another article, Python Lists: Beyond the Basics, covers sorting, filtering, list comprehensions, and more. Master these techniques and optimize your code today!


What Is a List in Python?

Python lists are containers that hold multiple items in an ordered sequence. You can think of them as shopping lists where you can keep track of items in a specific order. Here’s the basic example for creating a list:

Example of Python List

fruits = ["apple", "banana", "orange"]
print(fruits)

Code Explanation

  • Line 1: Creates a list named fruits containing three string elements: “apple”, “banana”, and “orange”.
  • Line 2: Prints the contents of the fruits list.

Output

[‘apple’, ‘banana’, ‘orange’]

Python List Syntax

list_name = [item1, item2, …, itemN]

  • list_name: Name of the list.
  • [ ]: Square brackets enclose the items in the list.
  • item1, item2, …, itemN: These represent the individual elements (items) you want to store in the list, separated by commas. These items can be of various data types (numbers, strings, even other lists!).

Key Features of Python List

Here are the key characteristics of a Python list:

  • Ordered: Elements maintain the specific order in which they were added.
  • Mutable: You can change, add, and remove items from a list after creation.
  • Heterogeneous: Lists can hold elements of different data types (e.g., numbers, strings, booleans, and other lists).
  • Indexed: You can access individual elements using their index (zero-based, starting from 0 for the first element).
  • Iterable: Lists can be iterated using loops (for loop).
  • Flexible: Python provides many built-in methods for working with lists (appending, removing, sorting, etc.).

How to Create Lists in Python

In Python, you create lists directly using square brackets [ ], known as list literals. Simply place your desired elements inside, separated by commas, to form a list. Here’s how it works:

Example

colors = ["red", "green", "blue"]  
print(colors)

Code Explanation

  • Line 1: Creates a list named colors using a list literal. The square brackets enclose a series of strings, each representing a color.
  • Line 2: Prints the contents of the colors list.

Output

[“red”, “green”, “blue”]


The Python list() Constructor

Python’s list() constructor converts other iterable data types (like tuples, strings, or dictionaries) into a new list. It’s like transforming a group of items into a flexible, ordered container where you can easily modify and access elements. Here’s an example:

Example

alphabet_string = "abcde"
characters = list(alphabet_string)
print(characters)

Code Explanation

  • Line 1: Creates a string variable alphabet_string containing lowercase letters.
  • Line 2: Uses the list() constructor to convert the alphabet_string into a list named characters. The individual characters from the string become elements in the new list.
  • Line 3: Prints the contents of the characters list, which will output each letter as a separate element.

Output

[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]


Adding Elements to Python Lists

The append() method in Python is a simple and efficient way to add a single element to the end of an existing list. It’s like attaching a new item to the back of a line, making your list grow dynamically.

Example

fruits = ["apple", "banana"]
fruits.append("cherry")
print(fruits)

Code Explanation

  • Line 1: Creates a list fruits containing “apple” and “banana”.
  • Line 2: Uses the .append() method on the fruits list. Inside the parentheses, we provide the element we want to add, which is “cherry” in this case. The .append() method modifies the original list by adding “cherry” to the end.
  • Line 3: Prints the contents of the updated fruits list, showing “cherry” appended to the end.

Output

[‘apple’, ‘banana’, ‘cherry’]


Modifying Elements in Python Lists

Lists in Python are mutable, meaning you can change their content after creation. Updating elements within a list is straightforward. Here’s how it works:

Syntax

list_name[index] = new_value

  • list_name: The name of the list you want to modify.
  • [index]: This specifies the element’s index you want to update. Remember, indexing starts from 0.
  • =: The assignment operator assigns a new value to the element at the specified index.
  • new_value: This is the new value you want to assign to the element.

Example

colors = ["red", "green", "blue"]
colors[1] = "yellow"
print(colors)

Code Explanation

  • Line 1: Creates a list colors with three color names.
  • Line 2: Assigns a new value “yellow” to the element at index 1 of the colors list. Since indexing starts from 0, the second element (originally “green”) is replaced with “yellow”.
  • Line 3: Prints the modified colors list, showing “green” replaced with “yellow”.

Output

[‘red’, ‘yellow’, ‘blue’]


How to Access Python List Elements

You can access individual elements within a list using their index. Indices allow you to retrieve and use those specific elements stored within the list. Remember that Python uses zero-based indexing, meaning the first element has an index 0, the second element has an index 1, and so on. Here’s the syntax to access list elements:

Syntax

list_name[index]

[index]: Square brackets enclosing the desired index within the list.

Example

fruits = ["apple", "banana", "orange"]
first_fruit = fruits[0]
print(first_fruit)

Output

apple


Finding Elements Within Python Lists

The index() method in Python helps you locate the first occurrence of a specific item within a list. It returns the position (index) of that item or raises a ValueError if it’s not found.

Example

colors = ["red", "green", "blue", "green"]
first_green_index = colors.index("green")

print(first_green_index)  # Output: 1 (find the index of "green" which is 1)
print(colors[first_green_index]) # Output: green (return item from index 1)

Note: If the element is not found in the list, the .index() method returns -1.

Code Explanation

  • Line 1: Creates a list colors containing color names.
  • Line 2: Uses the .index() method on colors. We provide “green” as the argument. .index() searches for the first occurrence of “green” and returns its index (1 in this case).
  • Line 4: Prints the result stored in first_green_index, showing the index of the first “green” element.
  • Line 5: Prints the element “green” from the index (1 in this case).

Removing Elements from Python Lists

The remove() method in Python directly deletes the first occurrence of a specific value from a list. If the value isn’t present, it raises a ValueError.

Example

fruits = ["apple", "banana", "cherry", "banana"]
fruits.remove("banana")
print(fruits)

Code Explanation

  • Line 1: Creates a list fruits containing some fruits (including duplicate “banana” entries).
  • Line 2: Uses .remove() on fruits. We provide “banana” as the argument. .remove() searches for “banana” and removes the first occurrence (which is at index 1).
  • Line 3: Prints the updated fruits list, showing only one “banana” remaining after the deletion using .remove().

Output

[‘apple’, ‘cherry’, ‘banana’]


Python List Iteration Techniques

Iterating through elements in a Python list is a fundamental task. It allows you to process each element one by one. Python provides a clean and concise way to achieve this using a for loop.

Example

fruits = ["apple", "banana", "orange", "mango"]
for fruit in fruits:
    print(fruit)  # Print each fruit (element)

Code Explanation

  • Line 1: Creates a list fruits containing some fruit names.
  • Lines 2-3: The for loop iterates through fruits. Each iteration assigns the current fruit (element) to the temporary variable fruit. The indented print(fruit) statement within the loop, then prints the value of fruit (the current fruit name) for each iteration.

Output

apple
banana
orange
mango