Поделиться через


Модуль Collections.List (F#)

Основные операции над списками.

Пространство имен/путь к модулю: Microsoft.FSharp.Collections

Сборка: FSharp.Core (в FSharp.Core.dll)

module List

Заметки

Обзор списков в F# см. в разделе Списки (F#).

Значения

Значение

Описание

append : 'T list -> 'T list -> 'T list

Возвращает новый список, содержащий элементы первого списка, за которыми следуют элементы второго списка.

average : 'T list -> ^T

Возвращает среднее значение элементов в списке.

averageBy : ('T -> ^U) -> 'T list -> ^U

Возвращает среднее значение элементов, созданное путем применения функции к каждому элементу списка.

choose : ('T -> 'U option) -> 'T list -> 'U list

Применяет заданную функцию к каждому элементу списка.Возвращает список, состоящий из результатов для каждого элемента, где функция возвращает значение Some.

collect : ('T -> 'U list) -> 'T list -> 'U list

Применяет заданную функцию к каждому элементу списка.Сцепляет все результаты и возвращает объединенный список.

concat : seq<'T list> -> 'T list

Возвращает новый список, содержащий элементы каждого списка в соответствующем порядке.

empty : 'T list

Возвращает пустой список заданного типа.

exists : ('T -> bool) -> 'T list -> bool

Проверяет, удовлетворяет ли какой-либо элемент списка заданному предикату.

exists2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool

Проверяет, удовлетворяет ли какая-либо пара соответствующих элементов списков заданному предикату.

filter : ('T -> bool) -> 'T list -> 'T list

Возвращает новую коллекцию, содержащую только те элементы коллекции, для которых заданный предикат возвращает значение true.

find : ('T -> bool) -> 'T list -> 'T

Возвращает первый элемент, для которого заданная функция возвращает значение true.

findIndex : ('T -> bool) -> 'T list -> int

Возвращает индекс первого элемента в списке, который удовлетворяет заданному предикату.

fold : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State

Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Эта функция принимает второй аргумент и применяет функцию к нему и к первому элементу списка.Затем передает этот результат в функцию вместе со вторым элементом и т. д.Наконец, она возвращает окончательный результат.Если входная функция — f, а элементы — i0...iN, эта функция вычисляет f (... (f s i0) i1 ...) iN.

fold2 : ('State -> 'T1 -> 'T2 -> 'State) -> 'State -> 'T1 list -> 'T2 list -> 'State

Применяет функцию к соответствующим элементам двух коллекций, накапливаемое значение аргумента передается по потоку в процессе вычисления.Размеры коллекций должны быть идентичны.Если входная функция — f, а элементы — i0...iN и j0...jN, эта функция вычисляет f (... (f s i0 j0)...) iN jN.

foldBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State

Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Если входная функция — f, а элементы — i0...iN, вычисляется f i0 (...(f iN s)).

foldBack2 : ('T1 -> 'T2 -> 'State -> 'State) -> 'T1 list -> 'T2 list -> 'State -> 'State

Применяет функцию к соответствующим элементам двух коллекций, накапливаемое значение аргумента передается по потоку в процессе вычисления.Размеры коллекций должны быть идентичны.Если входная функция — f, а элементы — i0...iN и j0...jN, эта функция вычисляет f i0 j0 (...(f iN jN s)).

forall : ('T -> bool) -> 'T list -> bool

Проверяет, все ли элементы коллекции удовлетворяют заданному предикату.

forall2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool

Проверяет, все ли соответствующие элементы коллекции удовлетворяют заданному предикату попарно.

head: 'T list -> 'T

Возвращает первый элемент списка.

init : int -> (int -> 'T) -> 'T list

Создает список путем вызова заданного генератора для каждого индекса.

isEmpty : 'T list -> bool

Возвращает значение true, если список не содержит каких-либо элементов; в противном случае — значение false.

iter : ('T -> unit) -> 'T list -> unit

Применяет заданную функцию к каждому элементу коллекции.

iter2 : ('T1 -> 'T2 -> unit) -> 'T1 list -> 'T2 list -> unit

Применяет заданную функцию одновременно к двум коллекциям.Размеры коллекций должны быть идентичны.

iteri : (int -> 'T -> unit) -> 'T list -> unit

Применяет заданную функцию к каждому элементу коллекции.Целое число, переданное функции, обозначает индекс элемента.

iteri2 : (int -> 'T1 -> 'T2 -> unit) -> 'T1 list -> 'T2 list -> unit

Применяет заданную функцию одновременно к двум коллекциям.Размеры коллекций должны быть идентичны.Целое число, переданное функции, обозначает индекс элемента.

length : 'T list -> int

Возвращает длину какого-либо списка.

map : ('T -> 'U) -> 'T list -> 'U list

Создает новую коллекцию, элементы которой являются результатом применения заданной функции к каждому элементу коллекции.

map2 : ('T1 -> 'T2 -> 'U) -> 'T1 list -> 'T2 list -> 'U list

Создает новую коллекцию, элементы которой являются результатом попарного применения заданной функции к соответствующим элементам двух коллекций.

map3 : ('T1 -> 'T2 -> 'T3 -> 'U) -> 'T1 list -> 'T2 list -> 'T3 list -> 'U list

Создает новую коллекцию, элементы которой являются результатом одновременного применения заданной функции к соответствующим элементам трех коллекций.

mapi : (int -> 'T -> 'U) -> 'T list -> 'U list

Создает новую коллекцию, элементы которой являются результатом применения заданной функции к каждому элементу коллекции.Целочисленный индекс, переданный функции, указывает индекс (от 0) преобразуемого элемента.

mapi2 : (int -> 'T1 -> 'T2 -> 'U) -> 'T1 list -> 'T2 list -> 'U list

Аналогичен List.mapi, но сопоставляет соответствующие элементы из двух списков равной длины.

max : 'T list -> 'T

Возвращает максимальный элемент списка, определенный посредством Operators.max.

maxBy : ('T -> 'U) -> 'T list -> 'T

Возвращает максимальный элемент списка, определенный посредством применения оператора Operators.max к результату функции.

min : 'T list -> 'T

Возвращает минимальный элемент списка, определенный посредством оператора Operators.min.

minBy : ('T -> 'U) -> 'T list -> 'T

Возвращает минимальный элемент списка, определенный посредством применения оператора Operators.min к результату функции.

nth : 'T list -> int -> 'T

Производит индексацию в список.Индекс первого элемента — 0.

ofArray : 'T [] -> 'T list

Создает список из заданного массива.

ofSeq : seq<'T> -> 'T list

Создает новый список из заданного перечисляемого объекта.

раздел : ('T -> bool) -> 'T list * 'T list

Разделяет коллекцию на две коллекции, содержащие элементы, для которых заданный предикат возвращает значения true и false, соответственно.

permute : (int -> int) -> 'T list -> 'T list

Возвращает список со всеми элементами, переставленными в соответствии с указанной перестановкой.

pick : ('T -> 'U option) -> 'T list -> 'U

Применяет заданную функцию к идущим подряд элементам, возвращая первый результат, когда функция возвращает Some для некоторого значения.

reduce : ('T -> 'T -> 'T) -> 'T list -> 'T

Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Эта функция применяет заданную функцию к двум первым элементам списка.Затем этот результат передается в функцию вместе с третьим элементом и т. д.Наконец, она возвращает окончательный результат.Если входная функция — f, а элементы — i0...iN, эта функция вычисляет f (... (f i0 i1) i2 ...) iN.

reduceBack : ('T -> 'T -> 'T) -> 'T list -> 'T

Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Если входная функция — f, а элементы — i0...iN, эта функция вычисляет f i0 (...(f iN-1 iN)).

replicate : (int -> 'T -> 'T list)

Создает список путем вызова заданного генератора для каждого индекса.

rev : 'T list -> 'T list

Возвращает новый список с элементами в обратном порядке.

scan : ('State -> 'T -> 'State) -> 'State -> 'T list -> 'State list

Применяет функцию к каждому элементу коллекции, передавая накапливаемое значение аргумента по потоку в процессе вычисления.Эта функция принимает второй аргумент и применяет заданную функцию к нему и к первому элементу списка.Затем этот результат передается в функцию вместе со вторым элементом и т. д.Наконец, она возвращает список промежуточных результатов и конечный результат.

scanBack : ('T -> 'State -> 'State) -> 'T list -> 'State -> 'State list

Действует как foldBack, но возвращает как промежуточный, так и конечный результаты.

sort : 'T list -> 'T list

Сортирует заданный список с помощью оператора Operators.compare.

sortBy : ('T -> 'Key) -> 'T list -> 'T list

Сортирует заданный список с помощью указанных проекцией ключей.Для сравнения ключей используется Operators.compare.

sortWith : ('T -> 'T -> int) -> 'T list -> 'T list

Сортирует заданный список с помощью указанной функции сравнения.

sum : ^T list -> ^T

Возвращает сумму элементов в списке.

sumBy : ('T -> ^U) -> 'T list -> ^U

Возвращает сумму результатов, созданную путем применения функции к каждому элементу списка.

tail : 'T list -> 'T list

Возвращает список ввода без первого элемента.

toArray : 'T list -> 'T []

Создает массив из заданного списка.

toSeq : 'T list -> seq<'T>

Просматривает заданный список как последовательность.

tryFind : ('T -> bool) -> 'T list -> 'T option

Возвращает первый элемент, для которого заданная функция возвращает значение true.Если такого элемента нет, возвращает значение None.

tryFindIndex : ('T -> bool) -> 'T list -> int option

Возвращает индекс первого элемента в списке, который удовлетворяет заданному предикату.Если такого элемента нет, возвращает значение None.

tryPick : ('T -> 'U option) -> 'T list -> 'U option

Применяет заданную функцию к идущим подряд элементам, возвращая первый результат, когда функция возвращает Some для некоторого значения.Если такого элемента нет, возвращает значение None.

unzip : ('T1 * 'T2) list -> 'T1 list * 'T2 list

Разделяет список пар на два списка.

unzip3 : ('T1 * 'T2 * 'T3) list -> 'T1 list * 'T2 list * 'T3 list

Разделяет список триад на три списка.

zip : 'T1 list -> 'T2 list -> ('T1 * 'T2) list

Объединяет два списка в список пар.Два списка должны иметь одинаковую длину.

zip3 : 'T1 list -> 'T2 list -> 'T3 list -> ('T1 * 'T2 * 'T3) list

Объединяет три списка в список триад.Списки должны иметь одинаковую длину.

Платформы

Windows 8, Windows 7, Windows Server 2012, Windows 2008 Server R2

Сведения о версии

Основной версии библиотеки F#

Поддерживается в: 2.0, 4.0, портативное

См. также

Ссылки

Пространство имен Microsoft.FSharp.Collections (F#)

Другие ресурсы

Списки (F#)