2017-04-14 71 views
0

我在斯卡拉列表如下所示:List(1,2,3,4)撰寫對列表

我怎樣才能生成所有對運行,所以我如下會最終有一個結果元素的元組的列表:

List((1,2), (1,3), (1,4), (2,3), (2,4), (3,4))

有一個內置的,可以產生這樣的結果的功能?

回答

4

有一個combination方法列表,但這正是這個

List(1,2,3,4).combinations(2).toList 
+0

只是一個方面說明,這將創建一個列表的列表,而不是一個列表元組,但它足夠好 – guymaor86

1

你可以使用一個用於理解

for { 
    x <- list 
    y <- list 
} yield { (x,y) } 
+0

這也創造了我不想要的元素,像'(1,1)' – guymaor86