[Python] Ordinamento liste: descrittore cmp.

Gollum1 gollum1.smeagol1 a gmail.com
Sab 4 Nov 2017 14:13:38 CET


Il 4 novembre 2017 14:07, Gollum1 <gollum1.smeagol1 a gmail.com> ha scritto:
> 2017-11-04 13:16 GMT+01:00 Andrea D'Amore <and.damore a gmail.com>:
>> On 30 October 2017 at 14:45, Gabriele Battaglia <iz4apu a libero.it> wrote:
>>> Cmp sta per compara? Compara cosa?
>>
>> https://docs.python.org/2/library/functions.html#cmp
>
> per ordinare una lista devi comparare i suoi elementi... non ti pare?
>
> non ho letto tutta la documentazione, ma mi viene da pensare che quel
> cmp(x,y) sia una funzione di comparazione che puoi creare tu, per il
> semplice fatto che a priori, la lista può avere qualsiasi tipo di
> elemento. di base ti vengono fornite le funzioni di comparazione dei
> vari tipi nativi, ma se tu ti crei un tipo di dato tuo, devi costruire
> una funzione che dati due elementi del tuo tipo, possa dirti se uno è
> maggiore, minore o uguale all'altro... solo in questo modo poi potrai
> utilizzare la funzione di ordinamento.

https://docs.python.org/2/library/stdtypes.html#typesseq-mutable

8. The sort() method takes optional arguments for controlling the comparisons.

cmp specifies a custom comparison function of two arguments (list
items) which should return a negative, zero or positive number
depending on whether the first argument is considered smaller than,
equal to, or larger than the second argument: cmp=lambda
x,y:cmp(x.lower(), y.lower()). The default value is None.



-- 
Gollum1 - http://www.gollumone.it
Tesssssoro, dov'é il mio tessssoro...


Maggiori informazioni sulla lista Python