strings, lists Tuples, dictionaries, files and exceptions Object oriented programming Sparse matrices sparse matrices have most of their elements equal to zero lists of lists might not be the appropriate way to represent them matrix = [ [0,0,0,1,0], [0,0,0,0,0], [0,2,0,0,0], [0,0,0,0,0], [0,0,0,3,0] ] using dictionaries is more economical: >>> matrix = {(0,3): 1, (2, 1): 2, (4, 3): 3} >>> matrix[0,3] 1 accessing elements which are not stored in the dictionary gives an error: >>> matrix[1,3] KeyError: (1, 3) solution: get method >>> matrix.get((0,3), 0) 1 >>> matrix.get((1,3), 0) 0 Python Crash Course