Thread Arrays zusammenführen/mergen
(16 answers)
Opened by styx-cc at 2020-03-13 21:20
Nur zum Vergnügen: Auch das ist eine Aufgabe, die man in Perl mit den Funktionen perlfunc map und perlfunc grep erschlagen kann.
Mit grep fischt man sich die Schlüssel raus, die erhalten bleiben, und danach baut man deren Inhalt mit map zusammen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my $ranges = { 1282 => [ 25, 40, 5, undef ], 1283 => [ 300, 400, 25, 1282 ], 1284 => [ 20, 30, 5, undef ], 1285 => [ 250, 260, 10, 1284 ], 1286 => [ 25, 30, 5, undef ], 1287 => [ 0.003, 0.005, 0.001, 1286 ], }; my %merged = map { $_ => [@{$ranges->{$_}}[0..2], @{$ranges->{$ranges->{$_}[3]}}[0..2]] } grep { defined $ranges->{$_}->[3] } keys %$ranges; print "EDITED RANGES:\n"; print Dumper \%merged; |