Python: List

By Xah Lee. Date: . Last updated: .

💡 TIP: python list index start at 0, and is between items.

python list index is between items
[   a   b   c   d]
  0   1   2   3

Syntax of List (Literal Expression to Create a List)

[x0, x1, x2, etc]

list can have items of different types.

x = [1, 2, "m"]
print(x)
# [1, 2, 'm']

Total Number of Items

len(list)

Return the count of number of items.

x = [0, 1, 2]
print(len(x) == 3)

Check Existence

x in list

check if exist.

x = [0, 1, 2]
print(2 in x)

x = ["a", "b", "c"]
print("b" in x)
x not in list

return true if not in list.

x = [0, 1, 2]
print(3 not in x)

x = ["a", "b", "c"]
print("m" not in x)

Get one Item

list[i]

Return ith item.

x = ["a", "b", "c"]
print(x[1] == "b")

Index starts at 0.

Negative index counts from right.

x = ["a", "b", "c"]
print(x[-1] == "c")

Set/Change One Item

list[i] = newValue

Change a item's value.

x = [1, 2, 3]
x[2] = "b"
print(x == [1, 2, "b"])

Delete One Item

del list[i]

Delete ith item.

x = ["a", "b", "c"]
del x[1]
print(x == ["a", "c"])

Get Sublist

list[i:j]

Return a sublist from index i to j.

x = [0, 1, 2, 3, 4, 5]
print(x[1:4] == [1, 2, 3])
list[i:j:k]

every kth.

x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(x[1:10:2] == [1, 3, 5, 7, 9])
list[:j]

From beginning to j.

list[i:]

From i to the end.

x = [0, 1, 2, 3, 4, 5]
print(x[3:] == [3, 4, 5])

Delete Sublist

del list[i:j]

delete the items between i to j.

🛑 WARNING: del is a statement, not a function. It cannot be used as expression in function argument.

xx = [1,2,3,4,5]
del xx[1:3]
print(xx == [1, 4, 5])
del list[i:j:k]

delete every kth item between i to j.

Replace Sublist

list[i:j] = list2

Replace i to j items by the content of list2

x = [1, 2, 3, 4, 5]
x[2:4] = [99, 100]
print(x == [1, 2, 99, 100, 5])
list[i:j:k] = list2

Replace items list[i:j:k] by content of list2. (list2 must have same number of items)

# list slice alternate assignment example

xx = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

xx[0:10:2] = ["a", "a", "a", "a", "a"]
print(xx == ["a", 2, "a", 4, "a", 6, "a", 8, "a", 10, 11, 12])

Nested Lists

Lists can be nested arbitrarily. Example:

x = [3, 4, [7, 8]]

Append extra bracket to get item of nested list.

x = [3, 4, [7, 8]]
print(x[2][1] == 8)

Join Lists

list1 + list2

Join two lists into one.

see also append. Python: List Methods

x = [1, 2] + [7, 6]
print(x == [1, 2, 7, 6])

Python Data Structure