Conta le occorrenze di un carattere in una stringa in Python
-
Usa la funzione
count()
per contare il numero di caratteri presenti in una stringa in Python -
Usa il
collections.Counter
per contare le occorrenze di un carattere in una stringa in Python - Usa le espressioni regolari per contare le occorrenze di un carattere in una stringa in Python
-
Usa il
defaultdict
per contare le occorrenze di un carattere in una stringa in Python -
Usa
pandas.value_counts()
per contare le occorrenze di un carattere in una stringa in Python -
Usa un’espressione
lambda
per contare le occorrenze di un carattere in una stringa in Python -
Usa il cicli
for
per contare le occorrenze di un carattere in una stringa in Python
In programmazione, una stringa è una sequenza di caratteri.
Questo tutorial introdurrà come contare il numero di occorrenze di un carattere in una stringa in Python.
Usa la funzione count()
per contare il numero di caratteri presenti in una stringa in Python
Possiamo contare l’occorrenza di un valore nelle stringhe usando la funzione count()
. Restituirà quante volte il valore appare nella stringa data.
Per esempio,
print("Mary had a little lamb".count("a"))
Produzione:
4
Ricorda, le maiuscole e le minuscole vengono trattate come caratteri diversi. A
e a
verranno trattati come caratteri diversi e avranno conteggi diversi.
Usa il collections.Counter
per contare le occorrenze di un carattere in una stringa in Python
Un Counter
è una sottoclasse del dizionario presente nel modulo collections
. Memorizza gli elementi come chiavi del dizionario e le loro occorrenze vengono archiviate come valori del dizionario. Invece di generare un errore, restituisce un conteggio zero per gli elementi mancanti.
Per esempio,
from collections import Counter
my_str = "Mary had a little lamb"
counter = Counter(my_str)
print(counter["a"])
Produzione:
4
È una scelta migliore quando si contano molte lettere poiché il contatore calcola tutti i conteggi una volta. È molto più veloce della funzione count()
.
Usa le espressioni regolari per contare le occorrenze di un carattere in una stringa in Python
Un’espressione regolare è una sintassi specializzata contenuta in un modello che aiuta a trovare le stringhe o un insieme di stringhe facendo corrispondere quel modello. Importiamo il modulo re
per lavorare con le espressioni regolari.
Possiamo usare la funzione findall()
per il nostro problema.
Per esempio,
import re
my_string = "Mary had a little lamb"
print(len(re.findall("a", my_string)))
Produzione:
4
Usa il defaultdict
per contare le occorrenze di un carattere in una stringa in Python
Defaultdict
è presente nel modulo collections
ed è derivato dalla classe dizionario. La sua funzionalità è relativamente la stessa di quella dei dizionari, tranne per il fatto che non genera mai un KeyError
, poiché fornisce un valore predefinito per la chiave che non esiste mai.
Possiamo usarlo per ottenere le occorrenze di un carattere in una stringa come mostrato di seguito.
from collections import defaultdict
text = "Mary had a little lamb"
chars = defaultdict(int)
for char in text:
chars[char] += 1
print(chars["a"])
print(chars["t"])
print(chars["w"]) # element not present in the string, hence print 0
Produzione:
4
2
0
Usa pandas.value_counts()
per contare le occorrenze di un carattere in una stringa in Python
Possiamo usare il metodo pandas.value_counts()
per ottenere le occorrenze di tutti i caratteri presenti nella stringa fornita. Dobbiamo passare la stringa come oggetto Series
.
Per esempio,
import pandas as pd
phrase = "Mary had a little lamb"
print(pd.Series(list(phrase)).value_counts())
Produzione:
4
a 4
l 3
t 2
e 1
b 1
h 1
r 1
y 1
M 1
m 1
i 1
d 1
dtype: int64
Restituisce le occorrenze di tutti i caratteri in un oggetto Series
.
Usa un’espressione lambda
per contare le occorrenze di un carattere in una stringa in Python
Le funzioni lambda
non solo possono contare le occorrenze dalla stringa data, ma possono anche funzionare quando abbiamo la stringa, come un elenco di sottostringhe.
Vedere il seguente codice.
sentence = ["M", "ar", "y", "had", "a", "little", "l", "am", "b"]
print(sum(map(lambda x: 1 if "a" in x else 0, sentence)))
Produzione:
4
Usa il cicli for
per contare le occorrenze di un carattere in una stringa in Python
Si itera sulla stringa e se l’elemento è uguale al carattere desiderato, la variabile count viene incrementata fino a raggiungere la fine della stringa.
Per esempio,
sentence = "Mary had a little lamb"
count = 0
for i in sentence:
if i == "a":
count = count + 1
print(count)
Produzione:
4
Di seguito possiamo vedere un altro modo di utilizzare questo metodo con la funzione sum()
.
my_string = "Mary had a little lamb"
print(sum(char == "a" for char in my_string))
Produzione:
4
Articolo correlato - Python String
- Come controllare una stringa è vuota in modo pitonico
- Converti una stringa in nome variabile in Python
- Come rimuovere gli spazi bianchi in una stringa in Python
- Estrai numeri da una stringa in Python
- Come convertire una stringa in datario in Python
- Come convertire una stringa in minuscola in Python 2 e 3