Elizabeth
у матрицы будет фиксированная длина но я буду изменять некоторые элементы из None в Some на протяжении работы программы
Такие вещи тоже нужно указывать. Фиксированная длина - это сколько? Если количество элементов в общем небольшое, и количество None элементов больше, чем Some, то действительно можно использовать тот же словарь с ключом в виде Point аля (int, int). Если Основная часть - Some элементы, то лучше использовать двумерный массив. Особенность list list в том, что его нельзя индексировать, только итерировать. Ну и конечно же стоит учитывать ввиду его иммутабельность. У тебя ведь однопоточная обработка?