Что такое zip (функциональное программирование?)
================================================

Я недавно видел некоторые Clojure или Scala (извините, я не знаком с ними), и они сделали zip в списке или что-то в этом роде. Что такое почтовый индекс и откуда он взялся?

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

Входные данные:

Выход:

Выше приведено более общее определение; иногда,`zip` конкретно относится к объединению элементов в виде кортежей. Например. снова в Хаскеле:

Входные данные:

Выход:

А более общая версия называется «zip with». Вы можете рассмотреть "zip" в качестве особого случая "zipWith":



 у меня недостаточно очков, чтобы даже оставить комментарий к верхнему ответу, но

является**wrong**, так должно быть:

или просто:



 такой как map или fold. Вы найдете эти функции в ранних выпусках вплоть до ruby и python. Они предназначены для выполнения общих пакетных операций со списками.

В этом конкретном случае zip берет два списка и создает новый список кортежей из этих списков.

например, допустим, у вас есть список с (1,2,3), а другой - с («один», «два», «три»)
Если вы объедините их вместе, вы получите список ((1, «один»), (2, «два»), (3, «три»))

или из командной строки Scala вы получите:

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