Please note that the recommended version of Scilab is 2026.0.0. This page might be outdated.
See the recommended documentation of this function
list
объект Scilab'а и функция определения списка
Последовательность вызова
list(a1, ..., an)
Описание
Создаёт список list с элементами
            ai, которые являются произвольными объектами Scilab'а (matrix,
            list,...). Тип объекта  list равен 15. list()
            создаёт пустой список (0 элементов).
Операции со списками
- выделение
- [x,y,z,...]=L(v), где- v- вектор индексов;- [x,y,z,...]=L(:)выделяет все элементы.
- вставка на место индекса i
- L(i)=a(заметьте, что это не ошибка использовать- L(i)=aс- i > 1 + size(L), но некоторые элементы списка тогда не определены, и их выделение вызовет ошибку).
- добавление элемента в хвост
- L($+1)=e.
- добавление элемента в начало
- L(0)=e. После этой операции После этой операции- eимеет индекс 1, исходные элементы будут сдвинуты вправо.
- удаление
- L(i)=null()удаляет- i-тый элемент списка- L.
- конкатенация двух списков
- L3 = lstcat(L1,L2).
- число элементов списка
- вы можете использовать либо - nb_elm = size(L), либо- nb_elm = length(L).
- итерации со списками
- можно использовать список - Lв цикле for:- for e=L,...,end- цикл с числом итераций- length(L), переменная цикла- eбудет равна- L(i)на- i-той итерации.
Примечания
Scilab предлагает также другие виды списков, тип tlist (типизированный список) и тип mlist (матричноориентированный список), которые полезны для определения нового типа данных с механизмом перегрузки операторов (гиперматрицы, которые являются многомерными массивами, в Scilab'е на самом деле имеют тип mlist).
Также доступны структуры struct Matlab'а.
Примеры
l = list(1,["a" "b"]) // объявление основного списка с элементом типа // double и вектором двух строковых значений size(l) // размер равен 2 // l(0) - Не существует! l(1) // доступ к значению типа double l(2) // доступ к вектору строковых значений size(l(2)) // размер равен 1,2 l(0) = "foo" // вставка в начало списка // l(0) - по-прежнему не существует l(1) // равно "foo" l($+1) = "hello" // вставка в конец списка l(2) = "toto" // перезапись моего значения типа double l(3) = rand(1,2) // перезапись моего вектора строковых значений l(3) = null() // удаление третьего элемента lbis = list("gewurtz", "caipirina" ,"debug") // объявление нового списка lter = lstcat(l,lbis) // слияние двух списков size(lter) - size(lbis) - size(l) // должен быть ноль
Смотрите также
- null — удаление элемента в списке
- lstcat — конкатенация списков
- tlist — объект Scilab'а и определение типизированного списка
- mlist — объект Scilab'а, определение матричноориентированного типизированного списка
- вставка — частичное присвоение или модификация значения переменной
- выделение — выделение элемента матрицы или списка
- size — размер объекта
- length — длина объекта
| Report an issue | ||
| << isstruct | Data Structures | lstcat >> |