Когда я пришел в мир языков программирования, придя с «математической стороны бизнеса», мне это тоже показалось странным.Подумав об этом, я понял, что с точки зрения программирования они разные.Взгляните на следующий список:
a = [1,2,3,4,5]
Это одномерная структура.Это так, потому что для возврата значений 1,2,3,4 и 5 вам просто нужно присвоить одно значение адреса.3 будет возвращено, если вы, например, введете команду a [2].
Теперь взгляните на этот список:
b = [[ 1, 2, 3, 4, 5],
[11, 22, 33, 44, 55]]
Чтобы вернуть 11, например, вам понадобятся двапозиционные числа, 1 потому что 11 находится во втором списке и 0, потому что во втором списке это находится в первой позиции.Другими словами, b [1,0] возвращает вам 11.
Теперь перейдем к уловке.Посмотрите на этот третий список:
c = [ [ 100, 200, 300, 400, 500] ]
Если вы посмотрите внимательно, каждое число требует, чтобы 2 позиционных номера были взяты из списка.300, например, требует 0, потому что он расположен в первом (и единственном) списке, и 2, потому что он является третьим элементом первого списка.c [0,2] возвращает вас обратно на 300.
Этот список можно транспонировать, поскольку он имеет два измерения, а операция транспонирования - это то, что переключает позиционные аргументы.Таким образом, cT вернет вам список, форма которого будет [5,1], поскольку c имеет форму [1,5].
Вернитесь к списку a.Там у вас есть список только с одним позиционным номером.Этот список имеет форму только [5], поэтому нет второго позиционного аргумента для операции транспонирования для работы.Поэтому остается [5], и если вы попробуете aT, вы получите обратно.
Понял?
С уважением,
Густаво,