Python Lists

sczerman's avatar
Published May 13, 2021Updated Apr 21, 2023
Contribute to Docs

A list in Python is a sequence data type used for storing a comma-separated collection of objects in a single variable. Lists are always ordered and can contain different types of objects (strings, integers, booleans, etc.). Since they are mutable data types, lists are a good choice for dynamic data (that may be added or removed over time).

  • Machine Learning Data Scientists solve problems at scale, make predictions, find patterns, and more! They use Python, SQL, and algorithms.
    • Includes 27 Courses
    • With Professional Certification
    • Beginner Friendly.
      95 hours
  • Learn the basics of Python 3.12, one of the most powerful, versatile, and in-demand programming languages today.
    • With Certificate
    • Beginner Friendly.
      24 hours

Syntax

# With square brackets
list_a = []

# With built-in function
list_b = list()

Lists can either be defined with square brackets ([]) or with the built-in list() constructor method. In any case, the values initially passed to the new list must be comma-separated.

The following example showcases how lists can hold items of the same type or a mix of different types:

list_1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
list_2 = ["one", 2, "3"]

Stacks and Queues

Python lists can also be made to behave like stacks and queues.

Stacks follow a “last-in, first-out” insertion order. This behavior can be showcased with the .append() and .pop() methods for adding to and removing from the top of the stack, respectively:

stack_example = ["a", "b", "c"]
print(stack_example)
# Output: ['a', 'b', 'c']
stack_example.append(1)
stack_example.append(2)
stack_example.append(3)
print(stack_example)
# Output: ['a', 'b', 'c', 1, 2, 3]
stack_example.pop()
stack_example.pop()
print(stack_example)
# Output: ['a', 'b', 'c', 1]

Queues follow a “first-in, first-out” insertion order and also utilize the .append() and .pop() methods:

queue_example = ["a", "b", "c"]
print(queue_example)
# Output: ['a', 'b', 'c']
queue_example.append(1)
queue_example.append(2)
print(queue_example)
# Output: ['a', 'b', 'c', 1, 2]
queue_example.pop(0)
print(queue_example)
# Output: ['b', 'c', 1, 2]

While using a list as a queue is possible, it is not efficient because applying .pop() to the first item requires shifting all remaining items by one spot and reassigning indices. Instead, a deque object from the collections module should be used to efficiently add/remove from a queue.

Video Walkthrough

Watch this video for a step-by-step demonstration on how to create and edit Python lists.

Lists

.append()
Adds a single item to the end of a list in Python.
.clear()
Removes all items from the list.
.copy()
Returns a shallow copy of a list.
.count()
Returns the number of occurrences of a specified element in a list.
.extend()
Adds the elements of an iterable (like a list, tuple, or string) to the end of the current list.
.index()
Returns the index of the first occurrence of a specified element in a list.
.insert()
Adds an element to a specific index in a list.
.pop()
Removes an element at the specified position from a list and returns it.
.remove()
Removes an item from a list by passing in the value of the item to be removed as an argument.
.reverse()
Reverse the elements in the list.
.sort()
Sorts the elements of a list in ascending or descending order.

All contributors

Contribute to Docs

Learn Python on Codecademy

  • Machine Learning Data Scientists solve problems at scale, make predictions, find patterns, and more! They use Python, SQL, and algorithms.
    • Includes 27 Courses
    • With Professional Certification
    • Beginner Friendly.
      95 hours
  • Learn the basics of Python 3.12, one of the most powerful, versatile, and in-demand programming languages today.
    • With Certificate
    • Beginner Friendly.
      24 hours