Иллюстрированный самоучитель по Mathematica 3/4

Комбинирование списков и работа с множествами

Иногда возникает необходимость комбинирования нескольких списков. Для этого используются следующие функции:

  • Complement [list, list1, list2,…] – возвращает список list с элементами, которые не содержатся ни в одном из списков list1, Iist2,…;
  • Intersection [list1, list2,…] (пересечение множеств) – возвращает упорядоченный список элементов, общих для всех списков listi;
  • Join[list1, list2,… ] – объединяет списки в единую цепочку (выполняет конкатенацию). Join может применяться к любому множеству выражений, имеющих один заголовок;
  • Union [list1, Iist2,…] (объединение множеств) – удаляет повторяющиеся элементы списков и возвращает отсортированный список всех различающихся между собой элементов, принадлежащих любому из данных списков listi. Функция обеспечивает теоретико-множественное объединение списков;
  • Union [list] – возвращает отсортированный вариант списка list, из которого удалены все повторяющиеся элементы.

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

Ввод (In) Вывод (Out)
Complement [ {1, 2, 3, 4, 5}, {1, а, 2}, {b, с, 5}]
11={1.2.3.4.5};
12={а,b,3.4,с};
{ 3, 4 }
Intersection [11, 12] {3, 4}
Join [11, 12] (1, 2, 3, 4, 5, a, b, 3, 4, c}
Union[{1.2.4.3.2.7.3.5}] {1.2, 3, 4, 5, 7}
Union[{3.2},{1.4}] (1, 2, 3, 4}
Union[{a,b,c,a},{l,d,3}] {1, 3, a, b, c, d}

Комбинирование списков позволяет создавать сложные структуры данных из более простых структур. Это может быть полезно при построении очередей, деревьев и иных структурных построений. Кроме того, приведенные функции обеспечивают основные операции со множествами. Функцию Union удобно использовать при решении нелинейных и алгебраических уравнений для удаления повторяющихся решений.

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.