Lists support + for concatenation and * for repetition. Given a = [1, 2] and b = [3, 4], a + b creates [1, 2, 3, 4]. A new list combining both. This doesn't modify a or b.
Repetition duplicates: [0] * 5 creates [0, 0, 0, 0, 0]. This is useful for initialization: row = [None] * 10 creates a -element list. Caution with mutable elements: [[0]] * 3 creates [[0], [0], [0]] but all three inner lists are the same object!
Use a comprehension instead: [[0] for _ in range(3)] creates three independent inner lists. These operators work with any list types and return new lists without modifying originals.