Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: Sorting integer value hash keys

by gube (Parson)
on Dec 25, 2009 at 18:08 UTC ( #814363=note: print w/ replies, xml ) Need Help??


in reply to Sorting integer value hash keys

#!/usr/bin/perl my %statistics = ( 1, 0, 2, 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, 9, 0, 10, 0 ); foreach my $statistic (sort {$a <=> $b} keys %statistics) { print $statistic ." ".$statistics{$statistic}. "\n"; } Output: 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0


Comment on Re: Sorting integer value hash keys
Download Code
Replies are listed 'Best First'.
Re^2: Sorting integer value hash keys
by JadeNB (Chaplain) on Dec 25, 2009 at 18:53 UTC
    Sorry, I can't resist:
    my %statistics; undef @statistics{ 1..10 }; # or @statistics{ 1..10 } = (0) x 10 say join "\n", sort { $a <=> $b } keys %statistics;
    or, if you don't need a name and like the 0 values:
    say join "\n", sort { $a <=> $b } keys %{{ map { $_ => 0 } 1..10 }}
      You're missing a newline on the last line.
      say join "\n", sort { $a <=> $b } keys %{{ map { $_ => 0 } 1..10 }}
      should becan be shortened to
      say for sort { $a <=> $b } keys %{{ map { $_ => 0 } 1..10 }}
      Furthermore, since you assume the list is constant, that can be simplified to
      say for sort { $a <=> $b } 1..10;
      And if you wanted to show that stringification doesn't matter, the following would suffice:
      say for sort { $a <=> $b } map "$_", 1..10;
        You're missing a newline on the last line.
        I think that you're mistaken—say (as opposed to print) provides it for me.
        Furthermore, since you assume the list is constant, that can be simplified to
        say for sort { $a <=> $b } 1..10;
        Yes, you're right; I contemplated coming back and updating the node with that, but then I would have had to point out that sort { $a <=> $b } 1..10 could be replaced by just 1..10, and that seemed to be going too far. :-)
        And if you wanted to show that stringification doesn't matter
        That wasn't my goal, largely because I'm not sure what you mean. UPDATE: Because I was too busy writing one-liners to read the OP's actual question; sorry.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://814363]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (15)
As of 2015-07-28 13:59 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (255 votes), past polls