Molti articoli ti raccontano i trucchi di Python, ma pochi ti dicono perché |  di Christopher Tao |  Marzo 2024

 | Intelligenza-Artificiale

Tre trucchi comuni di Python rendono il tuo programma più veloce, ti spiegherò i meccanismi

Basta fare una semplice ricerca ed è molto facile ottenere molti articoli che cercano di raccontarci molti trucchi Python. Sono più “Pythonic” o rendono il nostro programma più veloce. Non c’è niente di sbagliato in questi articoli perché la maggior parte dei trucchi sono piuttosto utili. In effetti, ho scritto io stesso molti articoli di questo tipo.

Tuttavia, questo tipo di articoli viene spesso criticato perché non esiste un trucco applicabile a tutti gli scenari. Anche questo è vero. Secondo me è più importante capire il motivo per cui ci sono questi trucchi, così da poter capire quando usarli e quando non usarli.

In questo articolo ne prenderò in considerazione tre e fornirò una spiegazione dettagliata dei meccanismi sotto il cofano.

Immagine di Koichi Hagiwara da Pixabay

Come unisci solitamente le stringhe?

Ad esempio, supponiamo di avere un elenco di stringhe che devono essere unite insieme.

strs = ('Life', 'is', 'short,', 'I', 'use', 'Python')

Naturalmente, il modo più intuitivo per farlo sarà ripetere l'elenco e unire tutte le sottostringhe con spazi bianchi utilizzando il comando + operatore.

def join_strs(strs):
result = ''
for s in strs:
result += ' ' + s
return result(1:)

join_strs(strs)

Nel codice sopra, definiamo semplicemente una stringa vuota e continuiamo ad aggiungere uno spazio bianco e una sottostringa dall'elenco a questa stringa. Alla fine, restituiamo la stringa del risultato a partire dal 2° carattere in modo che lo spazio bianco iniziale venga tagliato.

Tuttavia, in questo caso, abbiamo un modo molto migliore per raggiungerlo. Questo sta usando il join() funzionare come segue.

def join_strs_better(strs):
return '…

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *