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
![]() ![]() 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; |