Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: Re: Sorting by the value of the inner hash

by Anonymous Monk
on Mar 31, 2004 at 07:46 UTC ( [id://341237]=note: print w/replies, xml ) Need Help??


in reply to Re: Sorting by the value of the inner hash
in thread Sorting by the value of the inner hash

Answering the third point, I expect the following
First key:700200 523246= -438.024029240629 523247= -470.547762535975 523237= -494.393864137596 523261= -509.711586526694 523424= -521.488541326437

Replies are listed 'Best First'.
Re: Re: Re: Sorting by the value of the inner hash
by DamnDirtyApe (Curate) on Mar 31, 2004 at 07:58 UTC

    That's great, but those points aren't mutually exclusive. We really need you to answer all of them to provide you with any useful information.

    TIP: Put use strict; at the beginning of this script, and every script you write from now on. You'll thank me one day.


    _______________
    DamnDirtyApe
    Those who know that they are profound strive for clarity. Those who
    would like to seem profound to the crowd strive for obscurity.
                --Friedrich Nietzsche
      1. I answered your second point in my reply to matija
      2. The input is a huge hash (HOH) table with the same data distribution you can see in the results table(second point).
      3. The code I provided is an excerpt of a whole program, and the only thing is missig is the sorting. I am using strict and warnings.
      4. I really don't know what else you need unless you want the whole program that is more than 6 pages
      Thanks

        Give this a shot:

        #! /usr/bin/perl use strict; *OUT = *STDOUT; my %totalscoreinv; $totalscoreinv{700200} = { 523246 => -438.024029240629, 523247 => -470.547762535975, 523237 => -494.393864137596, 523261 => -509.711586526694, 523424 => -521.488541326437 }; foreach my $keyscore (keys %totalscoreinv) { print OUT "\n\nFirst key:$keyscore\n"; foreach my $keyscore2 ( sort {$totalscoreinv{$keyscore}{$b} <=> $totalscoreinv{$keyscore}{$a}} keys %{$totalscoreinv{$keyscore}} ) { printf OUT "%30s %s\n", "$keyscore2= ", $totalscoreinv{$keyscore}{$keyscore2}; } }

        _______________
        DamnDirtyApe
        Those who know that they are profound strive for clarity. Those who
        would like to seem profound to the crowd strive for obscurity.
                    --Friedrich Nietzsche

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (3)
As of 2024-04-24 23:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found