perl を使用して、最初のリストの一意の値のインデックス値に基づいて、2 番目のリストから対応する値を取得したいと考えています。
例:
@list1=('a','b','c','a','d');
@list2=('e','f','g','a','i');
値が重複しない新しいリストを 2 つ作成したい
@new_list1=('a','b','c','d');
@new_list2=('e','f','g','i');
これどうやってするの?
私が使用できる1つのリストから一意の値を取得するには:
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' が 2 回出現します。1 番目の 'a' は 'e' に対応し、2 番目の 'a' は 'a' に対応します。したがって、最初のものではなく2番目のものを削除する必要があります。