Функции выявления структуры списков
Функции выявления структуры списков
Списки относятся к данным сложной структуры. Поэтому при работе с ними возникает необходимость контроля за структурой, иначе применение списков может привести к грубым ошибкам, как явным, сопровождаемым выдачей сообщения об ошибке, так и неявным. Последние могут привести к серьезным просчетам.
Для выявления структуры списков используется ряд функций:
-
Count [list, pattern] — возвращает количество элементов в списке list, которые соответствуют образцу pattern;
-
Dimensions [list] — возвращает список размеров списка по каждой размерности;
-
FreeQ [list, form] — возвращает True, если список list не содержит form;
-
Length [list] — возвращает число элементов одномерного списка list или число размерностей в случае многомерного списка;
-
MatrixQ [list ] — проверяет, является ли список матрицей, и дает True, если это так, и False в противном случае;
-
MemberQ [list, form] — проверяет, есть ли form в списке, и возвращает True, если это так, и False в противном случае;
-
Position [list, form] — возвращает номер позиции form в списке;
-
TensorRank[list] — находит ранг списка, если он является тензором;
-
VectorQ [list] — проверяет, является ли список вектором, и дает True, если это так, и False в противном случае.
Функции с буквой Q в конце имени являются тестирующими и возвращают логические значения True или False. Остальные функции возвращают численные значения соответствующего параметра списка.
Ниже даны примеры использования этих функций.
Ввод (In)
|
Вывод(Out)
|
11={1,2,3,4,1};
|
|
Length [11]
|
5
|
Dimensions [11]
|
{5}
|
MatrixQ [11]
|
False
|
TensorRank [ 11 ]
|
1
|
MemberQ[ll,l]
|
True
|
Count[ll,l]
|
2
|
FreeQ [11, 5]
|
True
|
Position [11,1]
|
{{1},{5}}
|
VectorQ [11]
|
True
|
M={{1, 2,3}, {4, 5, 6}}
|
|
Length [M]
|
2
|
Dimensions [M]
|
{2,3}
|
Система предоставляет пользователю свободу действий, производимых по результатам анализа структуры списков.
Содержание раздела