Re: [Python] Ordinamento liste: descrittore cmp.

2017-11-04 Per discussione Gollum1
Il 4 novembre 2017 14:07, Gollum1  ha scritto:
> 2017-11-04 13:16 GMT+01:00 Andrea D'Amore :
>> On 30 October 2017 at 14:45, Gabriele Battaglia  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
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Ordinamento liste: descrittore cmp.

2017-11-04 Per discussione Gollum1
2017-11-04 13:16 GMT+01:00 Andrea D'Amore :
> On 30 October 2017 at 14:45, Gabriele Battaglia  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.

Byez
-- 
Gollum1 - http://www.gollumone.it
Tesoro, dov'é il mio teoro...
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Ordinamento liste: descrittore cmp.

2017-11-04 Per discussione Andrea D'Amore
On 30 October 2017 at 14:45, Gabriele Battaglia  wrote:
> Cmp sta per compara? Compara cosa?

https://docs.python.org/2/library/functions.html#cmp


-- 
Andrea
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python