我想從第二個列表中根據第一個列表中唯一值的索引值使用perl獲取相應的值。根據另一個列表中唯一值的索引從一個列表中獲取相應的值 - Perl
對於前:
@list1=('a','b','c','a','d');
@list2=('e','f','g','a','i');
我想不重複的值
@new_list1=('a','b','c','d');
@new_list2=('e','f','g','i');
我怎麼能做到這一點,以創建兩個新的列表?
擺脫一個清單,我可以使用獨特的價值觀:
my %temp_hash = map { $_, 0 } @list1;
my @uniq_array = keys %temp_hash;
print "@uniq_array\n";
但如何從其他列表中的相應索引處得到的值。
在此先感謝。
編輯: 它應該找到基於某些條件而不是第一次出現的唯一值。 用於離:
@list1=('a','b','c','a','d');
@list2=('e','f','g','a','i');
和
@list1=('a','b','c','a','d');
@list2=('a','f','g','e','i');
應該給予相同的值:
@new_list1=('a','b','c','d');
@new_list2=('e','f','g','i');
在給出的例子中,可能是不包括共用元件,其中該值這兩個清單都是一樣的。即有兩個「a」出現,第一個「a」對應於「e」,第二個「a」對應於「a」。所以第二個不是第一個。
如何檢查的條件..? – heretolearn
已更新,以符合更新後的問題。你暗示將會有不止一種選擇算法,所以我沒有早先對其進行編纂,但我進一步更新了實現示例選擇算法的答案。 – ikegami