sirva esta entrada para compartir una receta eficiente para calcular el conjunto diferencia entre dos listas o arrays en lenguaje Perl5.
|  | 
| Conjunto diferencia, tomado de https://es.wikipedia.org/wiki/Diferencia_de_conjuntos. | 
my @a = 0..10000; my @b = 5000..10000;
array_minus(@a, @b);
sub array_minus(\@\@) {
    my %e = map{ $_ => undef } @{$_[1]};
    return grep( ! exists( $e{$_} ), @{$_[0]} ); 
}
Podéis ver otras alternativas en reddit, incluyendo soluciones en Perl6 y python,un saludo,
Bruno
 
No hay comentarios:
Publicar un comentario