2013-06-20 68 views
0

我有兩個包含整數的不同長度的列表。 列表中現在有重複項。 查看兩個列表時都有重複。 如從tcl中的兩個列表中保存公共元素並將它們放在結果列表中

set ListA [list 3 4 9 1 2 10 6 ] 
set ListeB [list 34 43 9 12 2 10 61 88 23 48] 

是否有effektive快速的方法來創建一個新的列表,它僅包含現有的兩個原始列表中的號碼?在這種情況下:[9 2 10]

我不想使用嵌套循環,因爲列表可能很大。我首先想到了對它們進行排序,然後逐個比較它們。然而,只有在兩個列表的長度相同的情況下才有效。...

+0

的[查找TCL兩個列表的交集]可能重複(http://stackoverflow.com/questions/12027197/find-the-intersection-of-two-lists-in-tcl) –

回答

2

看到這個questiondocumentation here。這對Tcl 8.0有效,仍然可以工作在8.5(我很確定8.6)。

% package require Tcl 
% package require struct::set 

% set ListA [list 3 4 9 1 2 10 6 ] 
% set ListeB [list 34 43 9 12 2 10 61 88 23 48] 
% ::struct::set intersect $ListA $ListeB 
9 2 10 
相關問題