Please note that the recommended version of Scilab is 2025.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 >> |