Функции выявления структуры списков
Списки относятся к данным сложной структуры. Поэтому при работе с ними возникает необходимость контроля за структурой, иначе применение списков может привести к грубым ошибкам, как явным, сопровождаемым выдачей сообщения об ошибке, так и неявным. Последние могут привести к серьезным просчетам.
Для выявления структуры списков используется ряд функций:
- 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] M={{1, 2.3}, {4, 5, 6}} |
True |
Length [M] | 2 |
Dimensions [M] | {2.3} |
Система предоставляет пользователю свободу действий, производимых по результатам анализа структуры списков.