2016-08-16 65 views
-9

如何以下兩個清單合併爲一個,使得:合併兩個列表成爲一個在斯卡拉

L1 = List((a,1), (b,2), (c,3), (d,4)) 
L2 = List((a,b), (b,c), (a,d)) 

和組合列表將是:

L3 = List((1,2), (2,3), (1,‌​4)) 
+1

Whaaaaaaaat ........? Whaaaaat ....?映射列表1和列表2與輸出的規則是什麼? –

+1

這是OP的意思。 L1 = List((a,1),(b,2),(c,3),d,4))和L2 = List((a,b),(b,c),(a,d)) => L3 = List((1,2),(2,3),(1,3))。 – Reza

+0

@hsuk我在10小時前回答了你的問題。我認爲這是你需要的。 –

回答

2

確定。所以首先你需要將第一個列表轉換成地圖。

val l1 = List((1,1),(4,4),(5,4),(8,4),(9,5)) 
val l2 = List((1,4),(1,9),(5,9),(8,9)) 

val mapL1 = l1.toMap 

val requiredList = l2.map({ case (i, j) => (mapL1(i), mapL1(j)) }) 
+0

你可以在最後一行刪除'{}'。 – ryan

+0

理解轉換第二個列表的規則(給出非常模糊的問題陳述):) – Samar