zip - это распространенный метод функционального программирования, такой как map или fold. Вы найдете эти функции в ранних выпусках вплоть до ruby и python. Они предназначены для выполнения общих пакетных операций со списками.
В этом конкретном случае zip берет два списка и создает новый список кортежей из этих списков.
например, допустим, у вас был список с (1,2,3), а другой с («один», «два», «три»)
Если вы объедините их вместе, вы получите список ((1, «один»), (2, «два»), (3, «три»))
или из командной строки scala вы получите:
scala> List(1,2,3).zip(List("one","two","three"))
res2: List[(Int, java.lang.String)] = List((1,one), (2,two), (3,three))
Когда я впервые увидел его в Python, не зная функционального программирования, я подумал, что это связано с форматом сжатия. После того, как я узнал больше о функциональном программировании, я использовал его все больше и больше.