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.
>>
>>
>

Reply via email to