Списки в Python. Двумерные массивы (списки списков).
Списки в Python — это изменяемые последовательности элементов. Двумерный массив реализуется как список, содержащий другие списки. Такой массив можно представить как таблицу или матрицу, где каждый внутренний список — это строка массива.

Особенности копирования.
При копировании списка следует учитывать, что если использовать простое присваивание (list1 = list2), то обе переменные будут ссылаться на один и тот же объект. Для создания независимой копии списка используется метод .copy() или срез [:]. Для глубокого копирования вложенных списков нужно использовать модуль copy с функцией deepcopy(), чтобы избежать копирования ссылок на вложенные элементы.

Вложенная генерация.
Вложенная генерация списков позволяет создавать двумерные массивы или сложные структуры данных. Это можно сделать через генераторы списков, используя два цикла. 
