[Python] Iterare in una lista.

Lorenzo Buonanno buonanno.lorenzo a gmail.com
Lun 17 Feb 2020 08:57:46 CET


Se k<=n, O(n+k) <= O(2n) che è == O(n)

In particolare il tempo necessario a stampare tutti gli elementi con print
(o a farci qualsiasi cosa di non estremamente banale) sarà molto maggiore
del tempo necessario a creare la nuova lista.

Mi aspetterei anch'io che la soluzione di cm sia più efficiente per liste
molto grosse (e usi meno memoria). Ma nel 99% dei casi mi sa che la
stragrande maggioranza del tempo si passa dentro il for, e le differenze
misurate non siano davvero significative

On Mon, Feb 17, 2020, 08:45 Pietro Brunetti <gunzapper a gmail.com> wrote:

>
>> Le differenze non sono sostanziali, ma la prima è leggermente più
>> efficiente
>>
>
> Ciao a tutti,
> trovo l'approccio di cm formalmente corretto "iterate lungo una lista" e
> non "create una lista".
>
> Per cm O(n) per l'altra funzione O(n+k), perché non solo itera ma anche
> estende.
>
> Basta dare una occhiata a questo, poi
>
> https://wiki.python.org/moin/TimeComplexity
>
> Adesso, il timeit mi contraddice. C'è qualche ottimizzazione dietro? Ho
> ragionato male? Bisogna provare con liste più "enormi"? Non so.
>
> Ciauz
> Pietro
>
>> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20200217/432b2074/attachment.html>


Maggiori informazioni sulla lista Python