Изменение порядка расположения элементов в списке
Изменение порядка расположения элементов в списке
Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:
-
Flatten [list] — выравнивает (превращает в одномерный) список по всем его уровням;
-
Flatten [list, n] — выравнивает список по п его уровням;
-
Flatten [list, n, h] — выравнивает выражения с заголовком h no n уровням;
-
FlattenAt [list, n] — выравнивает подсписок, если он оказывается п-м элементом списка list. Если n отрицательно, позиция отсчитывается с конца;
-
Sort [list] — сортирует элементы списка list в каноническом порядке;
-
Sort[list,p] — сортирует согласно функции упорядочения р;
-
Reverse [list] — возвращает список с обратным порядком расположения элементов;
-
RotateLeft [list] — возвращает список после однократного поворота влево;
-
RotateLeft [list, n] — возвращает список после n-кратного поворота влево;
-
RotateRight [list] — возвращает список после однократного поворота вправо;
-
RotateRight [list, n] — возвращает список после n-кратного поворота вправо;
-
Transpose [list] — осуществляет транспозицию (смену строк и столбцов) для двумерного списка;
-
Transpose [list, п] — осуществляет транспозицию n-мерного списка. Ниже приведен ряд примеров на использование этих функций.
Ввод (In)
|
Вывод (Out)
|
13={{1,2,3},{4,5,6},{7,8,9}}; |
{1,2,3,4,5,6,7,8,9} |
Flatten [13] |
|
FlattenAt[13,l] |
{1,2,3,{4,5,6},{7,8,9}} |
Sort[{l,5,3,4,2}] |
{1,2,3,4,5} |
Reverse[{l,2,3,4}] |
{4,3,2,1} |
RotateLeft[ {1,2,3,4,5}, 2] |
{3,4,5,1,2} |
RotateRight[{l,2,3,4,5} ,2] |
{4,5,1,2,3} |
12={{a,b},{c,d}}; |
|
TableForm[12] |
a b c d |
TableFormf Transpose [12] ] |
a c d b |
Изменение порядка расположения элементов в списке полезно при реализации некоторых алгоритмов. К примеру, сортировка списка ускоряет выполнение статистических расчетов и уменьшает их погрешности.
Содержание раздела