Isn't an OrderedDict in the order you inserted key-value pairs though? This is more like a priority queue than that since you presumably want to count terms and then take the N most common – or sort them all in order of occurrence.
On Sun, Jun 15, 2014 at 5:11 PM, Kevin Squire <[email protected]> wrote: > At one point while I was developing the OrderedDict class in > DataStructures.jl, I made it possible to sort it (and sorting regular > dictionaries returned an OrderedDict. It should be pretty easy to add that > functionality back. You would need to load the DataStructures.jl package, > of course. > > Cheers, > Kevin > > > On Sun, Jun 15, 2014 at 12:23 PM, Stefan Karpinski < > [email protected]> wrote: > >> You can use a comprehension over the Dict to get an array of count, >> string pairs and then sort that in place, which avoids some copying. >> >> On Jun 15, 2014, at 3:03 PM, TR NS <[email protected]> wrote: >> >> >> >> On Sunday, June 15, 2014 10:48:16 AM UTC-4, Stefan Karpinski wrote: >>> >>> Works for me. What version of Julia are you using? Note that if you have >>> the integer before the string in each tuple, you can just sort the array. >>> >>> >> >> Turns out I was trying to sort a Dict. Once I wrapped it in collect() it >> worked. Seems a little ugly though to first have to convert it to an array >> of tuples and then sort using `x->x[2]`. Might there be a way to sort Dicts >> directly? (Though obviously the result would not be Dict). >> >> Good to know about the integer being before the string, though it won't >> help in this particular case. The Dict stores a word key and frequency >> value. I am counting the frequency of words in a corpus. >> >> Thanks. >> >> >
