Mutable Sequence Types

List objects support additional operations that allow in-place modification of the object. These operations would be supported by other mutable sequence types (when added to the language) as well. Strings and tuples are immutable sequence types, and such objects can’t be modified once created. The operations in the following table are defined on mutable sequence types (where x is an arbitrary object).

Operation

Result

Notes

s[i] = x

Item i of s is replaced by x

 

s[i:j] = t

Slice of s from i to j is replaced by t

 

del s[i:j]

Same as s[i:j] = []

 

s.append(x)

Same as s[len(s):len(s)] = [x]

 

s.extend(x)

Same as s[len(s):len(s)] = x

5

s.count(x)

Return number of i’s for which s[i] == x

 

s.index(x)

Return smallest i such that s[i] == x

1

s.insert(i, x)

Same as s[i:i] = [x] if i >= 0

 

s.pop([i])

Same as x = s[i]; del s[i]; return x

4

s.remove(x)

Same as del s[s.index(x)]

1

s.reverse()

Reverses the items of s in place

3

s.sort([cmpfunc])

Sort the items of s in place

2, 3

Notes

  1. This raises an exception when x is not found in s.

  2. The sort() method takes an optional argument specifying a comparison function of two arguments (list items) that should return -1, 0, or 1 depending on whether the first argument is considered smaller than, equal to, or larger than the second argument. Note that this slows the sorting process considerably; e.g., to sort a list in reverse order, it’s much faster to use calls to ...

Get Python Programming On Win32 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.