Liste des tuples d'un dictionnaire en python

Juliasdg - Modifié le 30 oct. 2023 à 02:42
mamiemando Messages postés 33113 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 mai 2024 - 30 oct. 2023 à 02:49

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

1 réponse

mamiemando Messages postés 33113 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 mai 2024 7 753
30 oct. 2023 à 02:49

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

0