Операции над списком
🔗 Оригинальная страница — Источник данного материала
Описание
Списки нужны для получения строк данных из текстового документа, либо для записи данных в файл.
Например, есть файл со списком URL, на которые нужно зайти по очереди. Или же вы парсите какие-то значения с сайта (например, e-mail адреса) и нужно их отсортировать, удалить дубли и сохранить в файл.
Как создать список?

Как добавить экшен в проект?
Через контекстное меню Добавить действие → Списки → Операции над списком

Для чего используется?
- Добавление и получение элементов списка
- Удаление строк и дублей
- Привязка к файлу
- Получение количества строк
- Перемешивание
- Сортировка значений
Принцип работы
После добавления экшена в проект в его свойствах нам нужно выбрать список, с которым будем работать, а затем действие для выполнения.

Выделить подсписок
Выделение части строк из списка.

- Список. Выбираем список, в который будет сохранен результат.
- Диапазон. Способ фильтрации подсписка. Также для выбора доступны:
- Элементы, не содержащие текст.
Выберет все строки которые не содержат заданный текст. Можно использовать переменные. - Элементы, не удовлетворяющие регулярному выражению.
Критерии поиска задаются с помощью Regex (регулярных выражений). - Элементы, содержащие текст.
Выберет значения, которые содержат необходимый текст. Можно использовать переменные. - Элементы, удовлетворяющие регулярному выражению.
Критерии поиска задаются с помощью Regex (регулярных выражений).
- Элементы, не содержащие текст.
- Поле для ввода критериев. Указываются значения, соответствующие прошлому пункту.
- Удалить строки после взятия. Будут удалены строки, которые попали под критерии поиска.
- Выходить по ошибке, если список пуст. Если список пустой, то выполнение проекта пойдёт по красной ветке.
Пример
Берём из первого списка первые пять строк (нумерация с нуля) и сохраняем во второй список

| Список 1 до обработки | Список 1 после | Список 2 |
|---|---|---|
Добавить данные из списка
Добавление данных из одного списка в другой.

- Список. Выбираем список, в который будет сохранен результат.
- Куда. В какую позицию поместим результат:
в конец,в начало,в позицию. - В позицию. Если выбрали этот вариант, то в соседнем поле нужно указать номер строки или переменную.
Пример
Добавим строки из второго списка в конец первого

| Список 2 | Список 1 до обработки | Список 1 после |
|---|---|---|
Элементы Списка 2 остаются на месте
Добавить строку
Добавление строки в список.

1. Выбираем список, в который будем добавлять строку.
2. Устанавливаем функцию.
3. Вносим значение или переменную.
4. В какую позицию поместим результат: в конец, в начало, в позицию.
5. Если выбрали в позицию, то в соседнем поле нужно указать номер строки или переменную.
Подчеркнуто красной линией. Значение, которое копируем в данном примере.
Пример
Положим значение в конец первого списка
| Список 1 до обработки | Список 1 после |
|---|---|
![]() |
Добавить текст
Добавление текста в список.

1. Выбираем список, в который будем добавлять текст.
2. Устанавливаем функцию.
3. Текст или набор символов для добавления в список, можно указать переменную.
4. В какую позицию поместим результат: в конец, в начало, в позицию.
5. Добавлять пустые строки в случае отсутствия текста.
Пример
Добавим текст в первый список

| Список 1 до обработки | Список 1 после |
|---|---|
![]() |
Текст имел разделитель — новая строка, поэтому в список он добавлен построчно
Объединить элементы списка
Объединение элементов списка с указанием разделителя и возможностью записи в переменную.
- Разделитель.
- Новая строка. Каждый элемент списка будет записан с новой строки.
- Свой. Указываем свой текст или символы, которые будут вставлены между элементами списка.
- Указанный в списке. Используется разделитель из настроек списка.
- Положить в переменную. Переменная для записи данных после обработки.
Пример
Объединяем элементы первого списка, используя свой разделить -;

| Список 1 | Результат обработки списка в переменной stroka |
|---|---|
![]() |
Перемешать элементы списка
В случайном порядке меняет расположение элементов в списке

Пример
Перемешаем элементы Списка 1
| До обработки | После обработки |
|---|---|
Получить количество строк
Позволяет узнать количество строк в списке.
Критерии поиска:
- Все;
- Не содержат текст;
- Не удовлетворяет регулярному выражению;
- Со значением;
- Содержат текст;
- Удовлетворяет регулярному выражению;
Пример
Посчитаем количество строк в Списке 1 и положим в переменную

| Список 1 | Результат обработки списка в переменной kolichestvo_strok |
|---|---|
![]() |
Получить строку
Эта функция получает строку, а также дает возможность удалить ее из списка и записать в переменную.

- Критерии поиска:
- Не содержит текст;
- Не удовлетворяет регулярному выражению;
- Первую;
- По номеру;
- Случайную;
- Удовлетворяет регулярному выражению;
- Удалить строку после взятия. Когда выбранная строка возьмется из списка, то после этого будет удалена.
- Положить в переменную. Здесь указываем кастомную переменную, в которую мы положим скопированную строку.
Пример
Берём случайную строку из Списка 1 и кладём её в переменную

| Список 1 | Результат обработки списка в переменной stroka |
|---|---|
![]() |
Привязать к файлу
Привязка списка к файлу в ходе выполнения проекта.

- Путь к файлу. Выбираем конкретный файл или указываем переменную, содержащую путь к нему.
- Создавать файл при отсутствии. Если файл отсутствует по указанному пути, то он будет автоматически создан.
Пример
Список 1 будет привязан файлу по указанному пути





