Перейти к основному содержимому

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

🔗 Оригинальная страница — Источник данного материала


Описание

❗→ Списки в основном используются для получения строк данных из текстового документа или записей данных в файл. Например, у Вас есть файл со списком URL и нужно на них по очереди зайти, или Вы парсите какие-то значения с сайта и нужно их отсортировать, удалить дубли и сохранить в файл (к примеру, спарсенные e-mail адреса).

Как добавить список в проект?

На заметку

Перед началом работы необходимо создать Список

image-20200807-164347

Как добавить экшен в проект?

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

image-20200820-111456

Либо воспользуйтесь ❗→ умным поиском.

Для чего это используется?

  • Добавление и получение элементов списка
  • Удаление строк и дублей
  • Привязка к файлу
  • Получение количества строк
  • Перемешивание
  • Сортировка значений

Как работать с экшеном?

Выделить подсписок

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

image-20200807-170447

  1. Выбираем список с которым будем работать.
  2. Указываем функцию.
  3. Указываем куда будет сохранён результат.
  4. Способ фильтрации подсписка a) ❗→ Диапазон - задаём интервал строк, которые нужно выделить. b) Элементы, не содержащие текст - выберет все строки которые не содержат заданный текст, можно использовать переменные. c) Элементы, не удовлетворяющие ❗→ регулярному выражению - критерии поиска с помощью ❗→ регулярки. d) Элементы, содержащие текст - выберет значения, которые содержат необходимый текст, можно использовать переменные. e) Элементы, удовлетворяющие ❗→ регулярному выражению - критерии поиска с помощью ❗→ регулярки.
  5. В этом поле указывается значение, соответствующее пункту из шага 4.
  6. Будут удалены строки, которые попали под критерии поиска.
  7. Если ❗→ список пустой, то Zennoposter пойдёт по красной ветке.
Пример

Берём из ❗→ списка первые пять строк (нумерация с нуля!) и сохраняем в ❗→ список 2

image-20200813-195131

❗→ Список 1

До обработки

image-20200813-193740

После отработки

image-20200813-194139

❗→ Список 2

image-20200813-194235

Добавить данные из списка

Добавление данных из одного списка в другой.

image-20200807-172333

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Указываем откуда будет перенесены строки.
  4. В какую позицию помещен результат - *в конец, *в начало, *в позицию.
  5. Если выбрали *в позицию, то указываем номер строки или переменную.
На заметку

Строки копируются, но не удаляются из исходного списка.

Пример

Добавим строки из ❗→ списка 2 в конец ❗→ списка 1

image-20200813-194752

❗→ Список 2

image-20200813-194658

❗→ Список 1

До обработки

image-20200813-194906

После обработки

image-20200813-195020

Элементы списка 2 остаются на месте

Добавить строку

Добавление строки в список.

image-20200807-174114

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Вносим значение или переменную.
  4. В какую позицию поместить результат - *в конец, *в начало, *в позицию.
  5. Если выбрали *в позицию, то указываем номер строки или переменную.
Пример

Положим значение в конец ❗→ списка 1

image-20200813-195500

❗→ Список 1

До обработки

image-20200813-195623

После обработки

image-20200807-175124

Добавить текст

Добавление текста в список.

image-20200813-201231

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

Добавим текст в ❗→ список 1

image-20200813-201439

❗→ Список 1

До обработки

image-20200807-175812

После обработки

image-20200813-201746

Текст имел разделитель - новая строка, поэтому в список он добавлен построчно

Объединить элементы списка

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

image-20200813-201948

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Разделитель строк a) *Новая строка - каждый элемент списка будет записан с новой строки. b) *Свой - указываем свой текст или символы, которые будут вставлены между элементами списка. c) *Указанный в списке - используется разделитель из ❗→ настроек списка.
  4. Переменная для записи данных после обработки.
Пример

Объединить элементы ❗→ списка 1, используя свой разделить “-;“

image-20200807-180540

Содержание ❗→ списка 1

image-20200813-202132

Результат обработки списка будет в переменной *stroka

image-20200813-202258

Перемешать элементы списка

Расположение элементов в списке в случайном порядке.

image-20200807-181123

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
На заметку

Изменение позиции не влечет за собой потери значений строки.

Пример

Перемешать элементы ❗→ списка 1

image-20200813-202620

❗→ Список 1

До обработки

image-20200813-202802

После обработки

image-20200807-182605

Получить количество строк

Получение количества строк в списке.

image-20200813-203208

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Критерии для поиска (можно указать переменную) : a) Все b) Не содержат текст c) Не удовлетворяет ❗→ регулярному выражению d) Со значением e) Содержат текст f) Удовлетворяет ❗→ регулярному выражению
  4. Переменная для записи данных после обработки.
На заметку

Переменная всегда будет содержать только цифровое значение

Пример

Посчитать количество строк ❗→ списка 1 и положить в переменную

image-20200813-203317

Содержание ❗→ списка 1

image-20200807-183243

Результат обработки списка будет в переменной kolichestvo_strok

image-20200813-203602

Получить строку

Получение строки с возможностью удаления из списка и записью в переменную.

image-20200807-184600

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Критерии строки (можно указать переменную) : a) Не содержит текст b) Не удовлетворяет ❗→ регулярному выражению c) Первую d) По номеру e) Случайную f) Удовлетворяет ❗→ регулярному выражению
  4. Удалить строку после взятия
  5. Переменная для записи значения.
Пример

Получить случайную строку из ❗→ списка 1 в переменную

image-20200813-204726

Содержание ❗→ списка 1

image-20200813-204845

Результат обработки списка будет в переменной stroka

image-20200813-204934

Привязать к файлу

Привязка списка к файлу в ходе выполнения проекта.

image-20200807-185422

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Выбираем файл или указываем переменную, содержащую путь к файлу.
  4. Если файл отсутствует по указанному пути, ZennoPoster автоматически создаст его.
Пример

Привязать файл к ❗→ списку 1

image-20200813-205126

❗→ Список 1 будет привязан к соответствующему файлу

Сортировать

Сортировка элементов списка по убыванию или возрастанию.

image-20200813-205247

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Использовать принцип как у чисел.
  4. Задаём тип сортировки *по убыванию или *возрастанию.
Информация

Не всегда буквенные и символьные строки можно упорядочить

Пример

Сортировать значения ❗→ списка 1 по убыванию

image-20200813-205419

❗→ Список 1

До обработки

image-20200807-185836

После обработки

image-20200813-205535

Сохранить в файл

image-20200813-205723

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Устанавливаем разделитель (можно использовать переменные) : a) *Новая строка b) *Свой c) *Указанный в списке
  4. Выбираем файл или указываем переменную, содержащую путь к файлу.
  5. Чек-бокс позволяет записывать новые данные в файл или перезаписывать его полностью.
Пример

Сохранить значения ❗→ списка 1 в файл

image-20200813-205753

Содержание ❗→ списка 1

image-20200807-190441

После выполнения в файл будут записаны все значения

image-20200813-210051

Удалить дубли

Удаление повторяющихся строк в списке.

image-20200813-210234

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
На заметку

Для обработки файла с большим количеством строк может потребоваться время.

Пример

Удалить все дубли в ❗→ списке 1

image-20200813-210423

❗→ Список 1

До обработки

image-20200813-183938

После обработки

1NFJfjUKn7

Удалить строки

Удаление строк из списка с заданными критериями

2020-07-25_13-31-21

  1. Выбираем список с которым будем работать
  2. Устанавливаем функцию.
  3. Критерии удаления строк (можно использовать переменные) : a) Все b) Не содержащие текст c) Не удовлетворяющие ❗→ регулярному выражению d) Первую e) Под номерами (можно использовать ❗→ диапазоны) f) Со значением g) Содержащие текст h) Содержащие только пробельные символы i) Удовлетворяющие ❗→ регулярному выражению
Пример

Удалить из ❗→ списка 1 строки содержащие символ @

2020-08-03_20-40-14

❗→ Список 1

До обработки

2020-08-03_20-54-19

После обработки

2020-08-03_20-58-11

Пример использования

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

2020-08-03_21-07-09

  1. Создаём ❗→ Список_1 со страницами предварительно привязав его к файлу.
  2. Удаляем дубли, чтобы не переходить на страницу дважды.
  3. Создаём и привязываем к файлу ❗→ Список_2.
  4. Парсим необходимую информацию со страниц в ❗→ Список_2.
  5. Удаляем дубли.

Таким образом, вы можете формировать списки нужной информации для дальнейшей обработки их или использования.

Полезные ссылки

  1. ❗→ Окно переменных
  2. ❗→ Тестер регулярных выражений
  3. ❗→ Список