Я бы рекомендовал replace()
вместо attach()
/ detach()
в вашей обработке вкладок.
Или переключитесь на ViewPager
. Вот пример проекта , показывающий ViewPager
, с вкладками, содержащими 10 карт.
Вы можете использовать np.matrix вместо np.array для определения 2D матриц. Например:
np.matrix('1 2; 3 4')
np.matrix([[1, 2], [3, 4]])
Для преобразования массива в матрицу используйте np.asmatrix :
a = np.array([[1, 2], [3, 4]])
m = np.asmatrix(a)
Но, как упомянуто в комментариях hpaulj, учтите:
Больше не рекомендуется использовать этот класс, даже для линейной алгебры. Вместо этого используйте обычные массивы. Класс может быть удален в будущем.
blockquote>Так что неплохо бы привыкнуть к использованию массивов numpy. Посмотрите это руководство https://docs.scipy.org/doc/numpy/user/numpy-for-matlab-users.html
Для преобразования скаляров или 1D-массивов в 2D-массивы есть функция np.atleast_2d
np.atleast_2d(3.0) array([[ 3.]]) np.atleast_2d([1, 2, 3]) array([[1, 2, 3]])
Как отмечалось выше, класс np.matrix имеет семантику, очень похожую на массив matlab.
Однако, если ваша цель состоит в том, чтобы выучить numpy как рыночный навык, я настоятельно рекомендую вам полностью принять концепцию ndarray; Хотя есть некоторая историческая правда в том, что называть numpy портом matlab, это немного оскорбительно, поскольку ndarray является одним из наиболее убедительных объективных концептуальных улучшений numpy по сравнению с matlab, помимо его цены.
TLDR; вам будет трудно не бросить ваше приложение, если вы заявите, что знаете numpy, но ваши примеры кода пахнут как портированный matlab.