Hello,

Dictionary items are inordered and can not be sorted. Function
sorted() returns list of tuples in each is 0. item key from dictionary
and 1. is value from key-value pair from dict machines. List indices
must be integers and machine keys are strings. See 
http://www.python.org/dev/peps/pep-0265/
about sorting dictionaries.
You need to know what type is variable in each line of code.
Dict is not same as list, even when you can get values from they very
similar way. dict[key] and list[index], key can be everything what can
be hashed, but index can be only integer.

I am not english, so I hope you understand me.

loial napĂ­sal(a):
> 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?
> machinekey = "111111"
> machines = {}
> machines[machinekey]=[1,0,0,0,0,0,0,0,0,0,0,0,0]
> machinekey = "222222"
> machines[machinekey]=[0,1,0,0,0,0,0,0,0,0,0,0,0]
> ddd=0
> for machine in machines.keys():
>            d=machines[machine]
>            print machine
>            print d [ddd]
>
> sortedmachines=sorted(machines)
> for machine in sortedmachines:
>           d=sortedmachines[machine]
>           print machine
>           print d [ddd]

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to