2011-01-25 72 views
4

我有2个清单:二郎打印2列表

List1 = [1,2,3]. 
List2 = ["asd", "sda", "dsa"]. 

我怎样才能打印此列表中依次如下:

1 ASD 2 SDA 3 DSA

谢谢。

+0

提到这样的打印的原因不会伤害。 – 2011-01-25 17:13:29

+0

这里有一个有趣的参数交换解决方案:`[io:format(“〜p”,[X])|| X < - merge(List1,List2)]`where merge([],L) - > L;合并([H | T1],L2) - > [H |合并(L2,T1)]。(未测试)。 – 2011-01-27 15:09:50

回答

5
1> lists:zipwith(fun (X1, X2) -> io:format("~p ~p ", [X1,X2]) end, List1, List2). 
1 "asd" 2 "sda" 3 "dsa" [ok,ok,ok] 
2> 
+0

再次感谢你) – 0xAX 2011-01-25 17:16:08

6

有时最好重新发明轮子。在erlang的情况下 - 只是为了理解递归,尾调用以及如何使用列表。

f([], []) -> 
    ok; 
f([H1|R1], [H2|R2]) -> 
    io:format("~p ~p", [H1, H2]), 
    f(R1, R2).