SparseArray
настроен для этого.Здесь также используется @@@
, что сокращенно для Apply
на уровне 1:
dat =
{{{1, 1}, "Q"},
{{2, 3}, "E"},
{{3, 5}, "Q"},
{{4, 2}, "Q"},
{{5, 4}, "Q"},
{{1, 5}, "E"}};
SparseArray[Rule @@@ dat, {5, 5}, ""] // MatrixForm

Второй аргумент SparseArray
(здесь{5, 5}
) - явный размер массива.Вы можете использовать Automatic
, чтобы его размер соответствовал самой дальней точке ваших данных.Третий (необязательный) аргумент - это выражение для использования в качестве «фона» массива.Здесь я использую пустую строку ""
, чтобы удовлетворить ваш запрос "blank".Поскольку это становится трудно читать, вы можете предпочесть линии сетки:
Grid[
SparseArray[Rule @@@ dat, {5, 5}, ""],
Frame -> All
]
