[Python] Filtrare un carattere.
Alessandro
dedalus2000 a gmail.com
Mer 18 Mar 2015 14:39:02 CET
On 03/18/2015 01:59 PM, Gabriele Battaglia wrote:
>
> Se scrivessi un programma che deve girare al massimo della velocità
> possibile, immagino che questa soluzione non andrebbe bene...
Dipende.. Gli immutabili possono essere onerosi.
Ad esempio:
txt = ''
while ...
..
txt += msg
Ad ogni ciclo si ricrea una stringa copiando il contenuto dalla vecchia
(al quale viene aggiunto qualcosa). Se si itera molto è meglio qualcosa
tipo:
ll = []
while ..
...
ll.append(msg)
txt = ''.join(ll)
> Per fortuna nel mio caso non devo preoccuparmi dei tempi.
Vero.
Anzi, volendo usare le liste forse ci metteresti di più
ll = list(txt)
ll.remove('x')
txt = ''.join(ll) # ma devi comunque creare un'altra stringa!
Direi che se la velocità è importante in genere si cerca di evitare gli
immutabili fin dall'inizio.
> PS: E' vero che in una condizione, per risparmiare tempo di calcolo,
> bisognerebbe mettere a sinistra dell'operatore sempre l'espressione
> più semplice?
if (a) and (b) and (c) ..
Se "a" è falso il calcolo della condizione si interrompe. Quindi si: è
meglio che il calcolo di "a" sia meno oneroso del calcolo di "b" e "c" ,
a parità di possibilità che risultino False (e qui ti voglio..)
Ma forse stiamo spaccando il capello
Alessandro
Maggiori informazioni sulla lista
Python