correspondances entre arrays
Bonjour,
J'ai deux tableaux:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @TabeauConsensus
$VAR75 = [
'C',
'T'
];
$VAR76 = [
'G'
];
$VAR77 = [
'A',
'T'
];
$VAR78 = [
'A',
'G'
];
$VAR79 = [
'A',
'T'
]; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| my %Correspondances =
(
qw(GA) => 'R',
qw(GT) => 'K',
qw(GC) => 'S',
qw(AT) => 'W',
qw(AC) => 'M',
qw(TC) => 'Y',
qw(GAT) => 'D',
qw(GAC) => 'V',
qw(GTC) => 'B',
qw(ATC) => 'H',
qw(ATCG) => 'N',
); |
Il faudrait quelque chose comme ça ^^ mais qui fonctionne
Code:
1 2 3 4 5
| for (my $j =0; $j<@TableauConsensus; $j++)
{
@{$TableauConsensus[$j]} = $Correspondances{@{$TableauConsensus[$j]}};
} |
Vu que c'est une égalité d'arrays, cela ne fonctionne pas. Existe t'il une façon plus simple que d'utiliser des boucles vérifiant une à une l'égalité des élémentes des 2 array? Peut-être avec map { $instances{$_}++ } @array1;
Vous m'aviez précédemment aidée sur le forum avec
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| my @AccReq = ('AF148850','AF148851','AZERTY','X55640');
my @AccTrouves = ('AF148850','AF148851','X55640');
my %instances = ();
map { $instances{$_}++ } @AccReq;
map { $instances{$_}++ } @AccTrouves;
my @items = grep { $instances{$_} == 1 } keys(%instances);
my @doubles = grep { $instances{$_} == 2 } keys(%instances);
print("Items uniques : \n * " . join("\n * ", @items) . "\n");
print("Items en double : \n * " . join("\n * ", @doubles) . "\n"); |
Est-ce ainsi qu'il faut que je procède? Et vérifier que @items soit vide?
Ou existe-t'il plus simple?
Merci pour votre aide,
Jasmine,