Liste des tuples d'un dictionnaire en python
Bonjour,
Je ne parviens pas à répondre à cette question.
Pourriez-vous m'aider ?
Voilà ce que j'ai fait pour le moment :
def afficher(D): D = dict() T = () L = [] texte = "Dans ce texte, la chaîne texte apparaît deux fois, ainsi que le mot chaîne." for t in texte: if t not in D: D[t] = 1 else : D[t] += 1 T = (t, D[t]) L = [T] return L a = afficher("texte") print(a)
Le programme me renvoie :
[('.', 1)]
D'avance merci pour votre aide
Modération : merci de mettre le code en forme comme expliqué ici.
Windows / Firefox 115.0
A voir également:
- Liste des tuples d'un dictionnaire en python
- Liste déroulante excel - Guide
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Liste déroulante en cascade - Guide
- Télécharger dictionnaire médical larousse gratuit pdf - Télécharger - Dictionnaires & Langues
- Citizen code python avis - Accueil - Outils
1 réponse
Bonjour,
Il y a plusieurs choses qui ne vont pas :
- for t in texte : itère sur texte, caractère par caractère. Tu voulais sans doute écrire : for t in texte.split()
- Les lignes 3 et 4 où tu initialises T et L ne servent à rien
- Rien dans ce que tu as écrit ne laisse espérer que tu pourras itérer sur les clés de ton dictionnaire par ordre alphabétique.
- En python, par convention, les variables sont normalement notées en minuscules (par exemple : ma_variable)
- Ton code mélange plusieurs considérations : peupler le dictionnaire à partir d'un texte et afficher ce dictionnaire. À moins que ce soit imposé par ton exercice, chaque considération devrait être codée dans une fonction dédiée (peupler le dictionnaire, récupérer les clés triées, afficher).
Quelques indices :
- sorted(...) permet de trier un itérable
- d.keys() permet d'itérer sur les clés d'un dictionnaire
- d[k] permet d'accéder à la valeur associé à la clé k dans un dictionnaire d
- Si tu as vu la classes defaultdict, elle serait plus indiquée que dict dans le cas présent pour peupler ton dictionnaire.
Bonne chance