[python] Jak setridit dictionary

Michal Bozon bozonm na vscht.cz
Středa Říjen 10 12:16:00 CEST 2007


v pythonu 3 uz dict.keys() nebude list, ale iterable, takze
perspektivnejsi je pouzivat funkci sorted, napriklad:

index_slovniku = sorted(slovnik.keys(), reverse=True)


> Myslim ze Ondrej hleda spis neco takovehoto
> 
> 
> slovnik = {1:'z', 2:'a', 3:'c'}
> index_slovniku = slovnik.items()
> index_slovniku.sort(lambda x,y: cmp(x[1],y[1]))
> index_slovniku = map(lambda x: x[0], index_slovniku)
> 
> urcite se to da napsat hezceji :)
> 
> J.
> 
> On 10/10/07, RMiklos na pss.sk <RMiklos na pss.sk> wrote:
>> Ak chces triedit kluce podla nejakej funkcie, tak asi takto:
>>
>> def sort_fun(a, b):
>>   # compare as integers
>>   return (-1)*cmp(int(a), int(b))
>>
>> my_dict={2:'m', 1:'z', 3:'a'}
>> print my_dict
>>
>> my_keys=my_dict.keys()
>>
>> my_keys.sort()
>> print "my_keys_asc_sort  =%s" %my_keys
>>
>> my_keys.sort(sort_fun)
>> print "my_keys_desc_sort =%s" %my_keys
>>
>>
>>
>>
>> "Ondrej Beran" <ondrej.beran na gmail.com>
>> Sent by: python-bounces na py.cz
>> 10.10.2007 11:01
>> Please respond to
>> Konference PyCZ <python na py.cz>
>>
>>
>> To
>> python na py.cz
>> cc
>>
>> Subject
>> [python] Jak setridit dictionary
>>
>>
>>
>>
>>
>>
>> Ahoj vsichni,
>>
>> mam dictionary napr. {1:'z', 2:'m', 3:'a', ....} a potreboval bych k
>> nemu vytvorit neco jako index setrideny podle hodnoty, napr.
>> [3,2,1,...], abych mohl s polozkami v dicitionary pracovat v poradi
>> danem tim indexem.
>>
>> Ale nenapada mi, jak to udelat... Poradi mi nekdo?
>>
>> Diky, Ondrej
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>
>>
>> Mgr. Ing. Roman MIKLÓ©
>> Prvá stavebná sporiteµňa a.s.
>> Bajkalská 30, P. O. Box 48
>> 829 48  Bratislava 25
>> Tel.: +421/ 2 / 582 31 174
>> Fax: +421/ 2 / 582 31 109
>>
>> _______________________________________________
>> Python mailing list
>> Python na py.cz
>> http://www.py.cz/mailman/listinfo/python
>>



Daląí informace o konferenci Python