2009-12-05 1 views
3

Мне просто интересно, есть ли готовая реализация zip-функции в стандартной библиотеке erlang. Нечто подобное:'zip' в Erlang

zip([H1|T1], [H2|T2], Acc)-> 
    zip(T1, T2, AcC++ [{H1, H2}]); 
zip([], [], Acc) -> 
    Acc. 
+0

Я не дома с синтаксисом Erlang, но это не ваша реализация изменения порядка списков? –

+0

№ Zip получает два списка и создает новый список. Например, если у нас есть два списка: A = [a1, a2, a3] и B = [b1, b2, b3], zip создайте новый список = [a1, b1, a2, b2, a3, b3]. – demas

+0

Я знаю, что делает zip, но не ваш пример, генерирующий '[{a3, b3}, {a2, b2}, {a1, b1}]' вместо этого? (Опять же, я не разбираюсь в Erlang, только Haskell) –

ответ

15

Существует zip function в модуле списков:

> lists:zip([a,b,c], [1,2,3]). 
[{a,1},{b,2},{c,3}]