Изменение порядка расположения элементов в списке
Изменение порядка расположения элементов в списке
Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:
- 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 |