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