Функции для работы со списками

Эти функции позволяют создавать значения параметра list и управлять ими.

Сведения

Имя Описание
List.Count Возвращает число элементов в списке.
List.NonNullCount Возвращает число элементов в списке, за исключением значений NULL
List.IsEmpty Возвращает значение, указывающее, является ли список пустым.

Выбор

Имя Описание
List.Alternate Возвращает список с чередующимися элементами из исходного списка, на основе числа, необязательного repeatInterval и необязательного смещения.
List.Buffer Помещает в буфер список в памяти. Результат вызова — стабильный список (то есть с детерминированным числом и порядком элементов).
List.Distinct Фильтрует список вниз, удаляя повторяющиеся элементы. Для управления сравнением на равенство можно указать необязательное значение критерия равенства. Выбирается первое значение из каждой группы равенства.
List.FindText Выполняет поиск текстового значения в списке значений, включая поля записей.
List.First Возвращает первое значение списка или указанное значение по умолчанию, если список пуст. Возвращает последний элемент в списке или необязательное значение по умолчанию, если список пуст. Если список пуст и значение по умолчанию не указано, функция возвращает.
List.FirstN Возвращает первый набор элементов в списке, указывая количество возвращаемых элементов или соответствующее условие, предоставляемое countOrCondition.
List.InsertRange Вставляет элементы из значений по указанному индексу в списке входных данных.
List.IsDistinct Возвращает значение, указывающее, является ли список уникальным.
List.Last Возвращает последний набор элементов в списке, указывая количество возвращаемых элементов или соответствующее условие, предоставляемое countOrCondition.
List.LastN Возвращает последний набор элементов в списке, указывая количество возвращаемых элементов или соответствующее условие.
List.MatchesAll Возвращает значение true, если все элементы в списке соответствуют условию.
List.MatchesAny Возвращает значение true, если любой элемент в списке соответствует условию.
List.Positions Возвращает список позиций для списка входных данных.
List.Range Возвращает элементы для подсчета начиная со смещения.
List.Select Выбирает элементы, соответствующие условию.
List.Single Возвращает один элемент списка или вызывает Expression.Error, если список содержит более одного элемента.
List.SingleOrDefault Возвращает один элемент из списка.
List.Skip Пропускает первый элемент списка. При наличии пустого списка возвращает пустой список. Эта функция принимает необязательный параметр countOrCondition для поддержки пропуска нескольких значений.

Функции преобразования

Имя Описание
List.Accumulate Накапливает результат из списка. Начиная с начального значения эта функция применяет функцию накопителя и возвращает окончательный результат.
List.Combine Объединяет список списков в один список.
List.ConformToPageReader Эта функция предназначена только для внутреннего использования.
List.RemoveRange Возвращает список, удаляющий элементы для подсчета, начиная со смещения. Число по умолчанию — 1.
List.RemoveFirstN Возвращает список с указанным числом элементов, удаленных из списка, начиная с первого элемента. Число удаленных элементов зависит от необязательного параметра countOrCondition.
List.RemoveItems Удаляет элементы из списка list1, присутствующие в списке list2, и возвращает новый список.
List.RemoveLastN Возвращает список с указанным числом элементов, удаленных из списка, начиная с последнего элемента. Число удаленных элементов зависит от необязательного параметра countOrCondition.
List.Repeat Возвращает список, который повторяет содержимое входного списка указанное число раз.
List.ReplaceRange Возвращает список, который заменяет указанное количество значений в списке на список replaceWith, начиная с индекса.
List.RemoveMatchingItems Удаляет все вхождения значений, имеющихся в списке.
List.RemoveNulls Удаляет значения NULL из списка.
List.ReplaceMatchingItems Заменяет вхождения существующих значений в списке новыми значениями с помощью предоставленного equationCriteria. Старые и новые значения предоставляются параметрами replacements. Для управления сравнением на равенство можно указать необязательное значение критерия равенства. Дополнительные сведения об операциях замены и критериях равенства см. в разделе Значения параметров.
List.ReplaceValue Ищет в списке значений значение и заменяет каждое его вхождение значением замены.
List.Reverse Возвращает список с обратным порядком элементов.
List.Split Разделяет указанный список на список списков с заданным размером страницы.
List.Transform Выполняет функцию для каждого элемента в списке и возвращает новый список.
List.TransformMany Возвращает список, элементы которого проецируются из входного списка.

Функции членства

Так как все значения можно проверить на равенство, эти функции могут работать с разнородными списками.

Имя Описание
List.AllTrue Возвращает значение true, если все выражения в списке имеют значение true.
List.AnyTrue Возвращает значение true, если любое выражение в списке имеет значение true.
List.Contains Возвращает значение true, если значение находится в списке.
List.ContainsAll Возвращает значение true, если все элементы в значениях находятся в списке.
List.ContainsAny Возвращает значение true, если любой элемент в значениях находится в списке.
List.PositionOf Находит первое вхождение значения в списке и возвращает его расположение.
List.PositionOfAny Находит первое вхождение значения в значениях и возвращает его расположение.

Операции Set

Имя Описание
List.Difference Возвращает элементы в списке 1, которых нет в списке 2. Поддерживаются дублирующиеся значения.
List.Intersect Возвращает список из списка списков и объединяет общие элементы в отдельных списках. Поддерживаются дублирующиеся значения.
List.Union Возвращает список из списка списков и объединяет элементы в отдельных списках. Возвращаемый список содержит все элементы в любых входных списках. Дублирующиеся значения сопоставляются в составе объединения.
List.Zip Возвращает список списков, объединяя элементы в одной позиции.

Упорядочение

Функции упорядочивания выполняют сравнения. Все сравниваемые значения должны быть сравнимы друг с другом. Это означает, что все они должны иметь одинаковый тип данных (или включать значение NULL, которое всегда имеет наименьшее значение при сравнении). В противном случае возникает исключение Expression.Error.

Сравнимые типы данных:

  • Число
  • Длительность
  • Дата и время
  • Текст
  • Логические
  • NULL
Имя Описание
List.Max Возвращает максимальный элемент в списке или необязательное значение по умолчанию, если список пуст.
List.MaxN Возвращает максимальные значения в списке. Необходимо указать число возвращаемых значений или условие фильтрации.
List.Median Возвращает медианный элемент из списка.
List.Min Возвращает минимальный элемент в списке или необязательное значение по умолчанию, если список пуст.
List.MinN Возвращает минимальные значения в списке. Можно указать число возвращаемых значений или условие фильтрации.
List.Sort Возвращает отсортированный список с использованием критерия сравнения.
List.Percentile Возвращает выборку процентилей, соответствующих данным вероятностям.

Средние значения

Эти функции работают с однородными списками чисел, даты и времени и длительности.

Имя Описание
List.Average Возвращает среднее значение из списка в типе данных значений в списке.
List.Mode Возвращает элемент, который чаще всего появляется в списке.
List.Modes Возвращает все элементы, которые отображаются с одинаковой максимальной частотой.
List.StandardDeviation Возвращает стандартное отклонение из списка значений. List.StandardDeviation выполняет оценку на основе выборки. Результатом является число для чисел и длительность для значений даты и времени и длительности.

Сложение

Эти функции работают с однородными списками чисел и длительности.

Имя Описание
List.Sum Возвращает сумму из списка.

Числовые значения

Эти функции работают только с числами.

Имя Описание
List.Covariance Возвращает ковариацию из двух списков в виде числа.
List.Product Возвращает продукт из списка чисел.

Генераторы

Эти функции создают список значений.

Имя Описание
List.Dates Возвращает список значений даты на основе указанного размера, начиная с начала, и добавляет к каждому значению шаг приращения.
List.DateTimes Возвращает список значений datetime на основе указанного размера, начиная с начала, и добавляет к каждому значению шаг приращения.
List.DateTimeZones Возвращает список значений datetimezone на основе указанного размера, начиная с начала, и добавляет к каждому значению шаг приращения.
List.Durations Возвращает список значений длительности на основе указанного размера, начиная с начала, и добавляет к каждому значению шаг приращения.
List.Generate Создает список из функции значения, функции условия, следующей функции и необязательной функции для преобразования значений.
List.Numbers Возвращает список чисел на основе указанного размера, начиная с начального, и добавляет шаг приращения. Шаг приращения по умолчанию равен 1.
List.Random Возвращает список из указанного числа случайных чисел с необязательным параметром начального значения.
List.Times Возвращает список значений времени на основе указанного размера, начиная с начала.

Значения параметра

Спецификация вхождения

Порядок сортировки

Критерии равенства

Критерий равенства для списка значений можно указать как:

  • значение функции, которое является:
    • селектором ключа, определяющим значение в списке для применения критериев равенства;
    • функцией сравнения, которая используется для указания применяемого типа сравнения. Встроенные функции сравнения можно указать. См. сведения о функциях сравнения.
  • значение списка, которое имеет
    • ровно два элемента.
    • Первый элемент является селектором ключа, как указано выше.
    • Второй элемент является функцией сравнения, как указано выше.

Дополнительные сведения и примеры см. в разделе List.Distinct.

Критерии сравнения

Критерий сравнения может быть предоставлен как одно из следующих значений:

  • Числовое значение для указания порядка сортировки. Дополнительные сведения см. в статье о порядке сортировки.
  • Чтобы вычислить ключ, используемый для сортировки, можно использовать функцию с одним аргументом.
  • Чтобы выбрать ключ и порядок, критерием сравнения может быть список, содержащий ключ и порядок.
  • Чтобы полностью управлять сравнением, можно использовать функцию с двумя аргументами, которая возвращает –1, 0 или 1, учитывая связь между левыми и правыми входными данными. Value.Compare — это метод, который можно использовать для делегирования этой логики.

Дополнительные сведения и примеры см. в разделе List.Distinct.

Операции замены

Операции замены задаются значением списка. Каждый элемент этого списка должен быть:

  • значением списка, состоящим из двух элементов.
  • Первый элемент — это старое значение в списке, которое необходимо заменить.
  • Второй элемент является новым значением, которое должно заменить все вхождения старого значения в списке.