fbed99da

Изменение порядка расположения элементов в списке



Изменение порядка расположения элементов в списке

Помимо добавления в список новых данных имеется возможность изменения порядка расположения элементов в списке. Она реализуется следующими операциями:

  • 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
Изменение порядка расположения элементов в списке полезно при реализации некоторых алгоритмов. К примеру, сортировка списка ускоряет выполнение статистических расчетов и уменьшает их погрешности.



Содержание раздела