[Tutor] improve the code
Peter Otten
__peter__ at web.de
Tue Nov 1 16:28:26 CET 2011
lina wrote:
> On Tue, Nov 1, 2011 at 10:33 PM, Dave Angel <d at davea.name> wrote:
>> On 11/01/2011 10:11 AM, lina wrote:
>> Just use the sort() method of the list object. In particular, items()
>> returns an unordered list, so it's ready to be sorted.
>>
>> for residues, numbers in new_dictionary.items().sort():
>>
>> That will sort such that residues are in sorted order.
>
> Thanks, but still something went wrong here,
>
> Traceback (most recent call last):
> File "fill-gap.py", line 41, in <module>
> build_abetadictionary(DICTIONARYFILE,orig_dictionary)
> File "fill-gap.py", line 31, in build_abetadictionary
> for residues, numbers in new_dictionary.items().sort():
> AttributeError: 'dict_items' object has no attribute 'sort'
Dave didn't realize that you are using Python 3 where items() no longer
returns a list. You need to change
new_dictionary.items().sort()
to
sorted(new_dictionary.items())
as sorted() will accept an arbitrary iterable.
> I have another concerns,
> is it possible to append the output file content as a sing one,
> such as a.new is
> A 1
> B 3
>
> b.new is
> A 3
> B 5
>
> I wish the final one like:
>
> A 1 3
> B 3 5
>
> I will think about it. Thanks,
Sorry, I can't make sense of that.
More information about the Tutor
mailing list