Выделение элементов списков
Для выделения элементов списка list используются двойные квадратные скобки:
- list [ [i] ] – выделяет i-й элемент списка;
- list [ [ { i, j, – -.}]] – выделяет i-й, j-й и т. д. элементы списка.
Ниже приведены примеры выделения элементов списков.
Пример | Комментарий |
---|---|
11: = {1.2.3.4.5) | Задание исходного списка 11 |
11[[3]] 3 |
Выделение третьего элемента |
11[[{1.2.5}]] (1, 2, 5} |
Выделение первого, второго и пятого элементов |
12={{1.2.3},{4.5.6}} {{1, 2, 3}, {4, 5, 6}} |
Задание сдвоенного (двумерного) списка |
TableForm[12] 1 2 3 4 5 6 |
Вывод сдвоенного списка в табличной форме |
L2[[2.3]] 6 |
Выделение элемента сдвоенного списка |
Для выделения заданного z-ro элемента списка list используется также функция Part [list, i]. При i>0 отсчет номеров элементов идет с начала списка, а при i<0 – с его конца. Это правило поясняют следующие примеры:
L :
=
{
1.2.3
, a, b, c}
{Part[L,
2
], Part[L,
5
], Part[L,
6
]}
{
2
, b, c}
{Part[L,
-
2
], Part[L,
-
5
], Part[L,
2
]}
{b,
2
,
2
}
Функция Part может использоваться для выбора заданного элемента выражения из списка. В этом случае вместо i надо указать три числа – номер выражения как элемента списка, уровень выражения и порядковый номер извлекаемого из выражения объекта. Показанные на рис. 3.8 примеры иллюстрируют работу со списком, последним (четвертым) элементом которого является математическое выражение.
Рис. 3.8. Примеры выделения элементов выражения
Обратите внимание на то, что в последнем примере неверно задан уровень выражения – использованное выражение имеет только один (первый) уровень. Поэтому задание второго уровня вызывает появление сообщения об ошибке.
Функция Select используется для выделения элементов списка, удовлетворяющих заданному критерию:
- Select [list, crit] – выбирает все элементы ei списка list, для которых функция критерия crit [ei] имеет значение True;
- Select [list, crit, n] – выбирает первые п элементов, для которых critfei] есть True.
Ниже представлены примеры применения этой функции:
Select[{
1
, a,
2
, b,
3
, c}, NumberQ]
{
1
,
2
,
3
}
Select[{
1
, a,
2
, b,
3
, c), NumberQ,
2
]
{
1
,
2
}
Select[{
1
, a,
2
, b,
3
, c}, PrimeQ]
{
2
,
3
}