Изменение порядка расположения элементов в списке
Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:
- Flatten [list] – выравнивает (превращает в одномерный) список по всем его уровням;
- Flatten [list, n] – выравнивает список по п его уровням;
- Flatten [list, n, h] – выравнивает выражения с заголовком h по 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] – осуществляет транспозицию 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 |
Изменение порядка расположения элементов в списке полезно при реализации некоторых алгоритмов. К примеру, сортировка списка ускоряет выполнение статистических расчетов и уменьшает их погрешности.