Кажется, вы хотите, чтобы два разных массива были связаны с одним и тем же именем переменной в Matlab. Это невозможно. В MATLAB у вас могут быть массивы ячеек или структуры, которые содержат другие массивы, но вы не можете иметь просто набор кортежей, назначенных одной переменной (что у вас есть в mdict = {'exon': (exon [0], экзон 1 )) - в Matlab нет понятия кортежа.
Вы также должны будете сделать ваши объекты массивами numpy:
import numpy as np
exon = [ np.array([[1, 2], [3, 4], [5, 6]]), np.array([[7, 8], [9, 10]]) ]
Здесь есть документация scipy здесь с подробной информацией о том, как сохранять различные типы Matlab, но при условии, что вы хотите использовать массив ячеек:
obj_arr = np.zeros((2,), dtype=np.object)
obj_arr[0] = exon[0]
obj_arr[1] = exon[1]
scipy.io.savemat('/tmp/out.mat', mdict={'exon': obj_arr})
это приведет к следующему в Matlab:
![code result in matlab](https://i.imgur.com/75kfqyE.png)
или, возможно (не проверено):
obj_arr = np.array(exon, dtype=np.object)