Forum >> Principianti >> Comprensione dei dizionari

Pagina: 1

buonasera a tutti, sono un neofita autodidatta che sta iniziando a cimentarsi nella programmazione in python, sto realizzando per puro esercizio una funzione che prevede l'uso di dizionari annidati e tutto procede bene se uso una semplice annotazione in cicli, ma se provo a usare la comprehension sui dizionari mi si sballa tutto, tanto che sto iniziando a pensare che in questo caso non si possa applicare, qualcuno sa dirmi se con questa funzione si può applicare?
def cerca_caratteri( stringa : str, dizionario : dict ) :
	for posizione, lettera in enumerate(stringa) :
		try :
			if lettera in dizionario[posizione] :
				dizionario[posizione][lettera] += 1
			else :
				dizionario[posizione][lettera] = 1
		except :
			dizionario[posizione] = { lettera : 1 }
Lo scopo è analizzare una serie di stringhe e mappare nel dizionario la frequenza dei caratteri nella posizione p della stringa


--- Ultima modifica di drakeTeo in data 2022-11-17 18:35:12 ---
Ciao caro, ma devi arrivare semplicemente al risultato?

Perché per contare le occorrenze farei in un altro modo:
>>> from collections import Counter
>>> d = {"Dee":"Scoiattolo", "Bolla": "Gatto", "Kiki": "Gatto", "Tom": "Gatto", "Jerry": "Topo"}
>>> Counter(d.values())
Counter({'Scoiattolo': 1, 'Gatto': 3, 'Topo': 1})
Ovviamente integrandolo poi nel tuo caso specifico...

Cya
ciao e grazie per la risposta, in realtà una volta analizzate tutte le stringhe lo scopo è quello di costruire una stringa di lunghezza pari alla lunghezza massima delle stringhe analizzate e composta dai caratteri a maggiore frequenza in ogni singola posizione, più che altro ormai è una questione "personale" con quel costrutto e sapere se fosse possibile ridurlo in un'annotazione con la comprehension dei dizionari visto che ho provato in diversi modi senza successo 😂
ciao e grazie per la risposta, in realtà una volta analizzate tutte le stringhe lo scopo è quello di costruire una stringa di lunghezza pari alla lunghezza massima delle stringhe analizzate e composta dai caratteri a maggiore frequenza in ogni singola posizione, più che altro ormai è una questione "personale" con quel costrutto e sapere se fosse possibile ridurlo in un'annotazione con la comprehension dei dizionari visto che ho provato in diversi modi senza successo 😂
Lo puoi fare, libera la fantasia. :ok:

Torna da vincitore.









Pagina: 1



Esegui il login per scrivere una risposta.