Mostrando entradas con la etiqueta conjuntos. Mostrar todas las entradas
Mostrando entradas con la etiqueta conjuntos. Mostrar todas las entradas

23 de julio de 2018

conjunto diferencia entre listas con Perl

Hola de nuevo,
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.
Para ello podemos definar la siguiente subrutina, tomada del módulo Array::Utils:

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