On Tue, 17 Apr 2007 01:01:55 -0700, loial wrote: > The following code gives the error > > d=sortedmachines[machine] > TypeError: list indices must be integers > > > What works for the unsorted dictionary does not work for the sorted > dictionary. > Can anyone help?
The error message you got tells you what the problem is. sortedmachines is not a "sorted dictionary". There is no such thing -- dictionaries, also known as "hash tables" in other languages, are unsorted. sortedmachines is a _list_, just like the error message says, and the index must be an integer. > sortedmachines=sorted(machines) sortedmachines is now the sorted _keys_ copied from machines. Try calling "print sortedmachines" and looking at what you get. > for machine in sortedmachines: > d=sortedmachines[machine] Try this instead: d = machines[machine] -- Steven D'Aprano -- http://mail.python.org/mailman/listinfo/python-list