Python Lists

Learn how to create, access, and manipulate lists in Python.

Lists

Lists are used to store multiple items in a single variable.

Lists are one of 4 built-in data types in Python used to store collections of data, the other 3 are Tuple, Set, and Dictionary, all with different qualities and usage.

Lists are created using square brackets:

Example

thislist = ["apple", "banana", "cherry"]
print(thislist)

List Items

List items are ordered, changeable, and allow duplicate values.

List items are indexed, the first item has index [0], the second item has index [1] etc.

Ordered

When we say that lists are ordered, it means that the items have a defined order, and that order will not change.

If you add new items to a list, the new items will be placed at the end of the list.

Changeable

The list is changeable, meaning that we can change, add, and remove items in a list after it has been created.

Allow Duplicates

Since lists are indexed, lists can have items with the same value:

Example

thislist = ["apple", "banana", "cherry", "apple", "cherry"]
print(thislist)

List Length

To determine how many items a list has, use the len() function:

Example

thislist = ["apple", "banana", "cherry"]
print(len(thislist))

List Items - Data Types

List items can be of any data type:

Example

list1 = ["apple", "banana", "cherry"]
list2 = [1, 5, 7, 9, 3]
list3 = [True, False, False]

A list can contain different data types:

Example

list1 = ["abc", 34, True, 40, "male"]

type()

From Python's perspective, lists are defined as objects with the data type 'list':

Example

mylist = ["apple", "banana", "cherry"]
print(type(mylist))

The list() Constructor

It is also possible to use the list() constructor when creating a new list.

Example

thislist = list(("apple", "banana", "cherry")) # note the double round-brackets
print(thislist)

Access List Items

List items are indexed and you can access them by referring to the index number:

Example

thislist = ["apple", "banana", "cherry"]
print(thislist[1])

Negative Indexing

Negative indexing means start from the end

-1 refers to the last item, -2 refers to the second last item etc.

Example

thislist = ["apple", "banana", "cherry"]
print(thislist[-1])

Range of Indexes

You can specify a range of indexes by specifying where to start and where to end the range.

When specifying a range, the return value will be a new list with the specified items.

Example

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])

Change List Items

To change the value of a specific item, refer to the index number:

Example

thislist = ["apple", "banana", "cherry"]
thislist[1] = "blackcurrant"
print(thislist)

Change a Range of Item Values

To change the value of items within a specific range, define a list with the new values, and refer to the range of index numbers where you want to insert the new values:

Example

thislist = ["apple", "banana", "cherry", "orange", "kiwi", "mango"]
thislist[1:3] = ["blackcurrant", "watermelon"]
print(thislist)

Add List Items

Append Items

To add an item to the end of the list, use the append() method:

Example

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

Insert Items

To insert a list item at a specified index, use the insert() method.

Example

thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)

Extend List

To append elements from another list to the current list, use the extend() method.

Example

thislist = ["apple", "banana", "cherry"]
tropical = ["mango", "pineapple", "papaya"]
thislist.extend(tropical)
print(thislist)

Remove List Items

Remove Specified Item

The remove() method removes the specified item.

Example

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

Remove Specified Index

The pop() method removes the specified index.

Example

thislist = ["apple", "banana", "cherry"]
thislist.pop(1)
print(thislist)

If you do not specify the index, the pop() method removes the last item.

Example

thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

The del keyword

The del keyword also removes the specified index:

Example

thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)

The del keyword can also delete the list completely.

Example

thislist = ["apple", "banana", "cherry"]
del thislist

Clear the List

The clear() method empties the list. The list still remains, but it has no content.

Example

thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)