Ritiro tutto: per liste grosse il costo di calcolare (in python) a ogni
iterazione `(i + base) % len` è molto maggiore del costo di creare una sola
volta all'inizio la nuova lista:
In python3.8:
>>> import timeit
>>> setup = """def function1(lista, base):
... s = 0
... for e in
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ù
>
>
> 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
Ciao DanZa
Il giorno dom 16 feb 2020 alle ore 19:27 Daniele Zambelli
ha scritto:
>
> Ho confrontato le due funzioni:
>
> numel = 12
> lista = [i * 11 for i in range(numel)]
> base = 5
>
> def function1(lista, base):
> for e in lista[base:]+lista[:base]:
> print(e)
>
> def
Di passaggio: se non l'hai capita era perché evidentemente sono stato poco
chiaro nei commenti.
In effetti quella classe fa parecchie cose anche complicate.
Per lumi sono sempre disponibile, meglio se in privato così non si da
fastidio a nessuno.
E, magari, se mi fai delle domande, posso
Il giorno dom 16 feb 2020 alle ore 20:05 alessandro medici
ha scritto:
> [...]
> L'uso è piuttosto semplice, supponendo tu abbia una lista:
>
> lista = [0,1,2,3,4,5,6,7,8,9]
> lista = Repslicing(lista)
>
> a questo punto puoi iterare la nuova lista anche con gli indici necessari a
> te:
>
>
Il dom 16 feb 2020, 19:27 Daniele Zambelli ha
scritto:
> Il giorno sab 15 feb 2020 alle ore 20:04 alessandro medici
> ha scritto:
> >
> >
> > Oggi è sabato. La cosa mi ha divertito ed ho pensato che valesse la pena
> generalizzare il problema:
> >
> >
>
Il giorno sab 15 feb 2020 alle ore 20:04 alessandro medici
ha scritto:
>
>
> Oggi è sabato. La cosa mi ha divertito ed ho pensato che valesse la pena
> generalizzare il problema:
>
> https://github.com/AlessandroMedici/add_a_mood_for_slice/blob/master/RepSlip.py
Interessante... ma non l'ho
Oggi è sabato. La cosa mi ha divertito ed ho pensato che valesse la pena
generalizzare il problema:
https://github.com/AlessandroMedici/add_a_mood_for_slice/blob/master/RepSlip.py
___
Python mailing list
Python@lists.python.it
Il giorno gio 13 feb 2020 alle ore 16:23 Gabriele Battaglia
ha scritto:
>
> Buona sera.
> Se ho una lista che contiene 10 elementi e voglio scrivere un ciclo che
> itera dall'elemento 5, arriva alla fine e riprende finendo al 4.
> A parte gestire autonomamente l'indice con un algoritmo, esiste
Il giorno gio 13 feb 2020 alle ore 16:23 Gabriele Battaglia
ha scritto:
>
> Buona sera.
> Se ho una lista che contiene 10 elementi e voglio scrivere un ciclo che
> itera dall'elemento 5, arriva alla fine e riprende finendo al 4.
> A parte gestire autonomamente l'indice con un algoritmo, esiste
Buona sera.
Se ho una lista che contiene 10 elementi e voglio scrivere un ciclo che
itera dall'elemento 5, arriva alla fine e riprende finendo al 4.
A parte gestire autonomamente l'indice con un algoritmo, esiste una
funzione già presente in Python per farlo?
Gabry
--
Gabriele Battaglia,
12 matches
Mail list logo