Valeur random de clef random du dictionnaire
Résolu
jeremyccm
Messages postés
50
Date d'inscription
Statut
Membre
Dernière intervention
-
jeremyccm Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
jeremyccm Messages postés 50 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Cette fonction permet de choisir aléatoirement une clef dans un dictionnaire.
Dans le même esprit, comment est-il possible, en suite, de choisir, aléatoirement, une valeur dans la clef au préalablement choisie aléatoirement ?
car il semble qu'en affectant la fonction suivante comme étant une variable, on se retrouve avec un 'str' et de ce fait toute opération soit inutilisable:
La première idée était de changer les clefs en list... est-ce une bonne voie ?
Cordialement
PS le titre n'est pas clair, pas facile
import random dictionnaire = { 'clef':'valeur1' 'valeur2', 'clef1':'valeur1' 'valeur2' } random.choice(dictionnaire.keys())
Cette fonction permet de choisir aléatoirement une clef dans un dictionnaire.
Dans le même esprit, comment est-il possible, en suite, de choisir, aléatoirement, une valeur dans la clef au préalablement choisie aléatoirement ?
car il semble qu'en affectant la fonction suivante comme étant une variable, on se retrouve avec un 'str' et de ce fait toute opération soit inutilisable:
a=random.choice(dictionnaire.keys())
La première idée était de changer les clefs en list... est-ce une bonne voie ?
Cordialement
PS le titre n'est pas clair, pas facile
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Random dictionnaire python
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
- Télécharger dictionnaire médical larousse gratuit pdf - Télécharger - Dictionnaires & Langues
- Citizen code python avis - Accueil - Outils
- Dictionnaire synonyme gratuit - Télécharger - Études & Formations
- Télécharger dictionnaire informatique gratuit pdf - Télécharger - Bureautique
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, ton code fonctionne-t-il bien, sans message d'erreur?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
et ainsi?
import random dictionnaire = { 'clef':['valeur1', 'valeur2'], 'clef1':['valeur11','valeur12'] } print(random.choice(random.choice(tuple(dictionnaire.values()))))
exact, l'oubli des virgules.
merci oui cela marche, mais comment vérifier à l'écran que la clé soit bien celle de la valeur retournée ?
Car l'instruction suivante
Un détaille, mais si possible il faut que l'on sache d'abord quelle est la clé, et ensuite une valeur correspondante est sélectionnée aléatoirement.
je me penche sur la question en même temps, tuple() change la liste des valeurs du dico en tuple, mais est-ce utile ?
J'ai essayé quelque chose, j'ai eu le message d'erreur suivant:
En tout cas yg_be merci de me faciliter la vie comme tu fais.
merci oui cela marche, mais comment vérifier à l'écran que la clé soit bien celle de la valeur retournée ?
Car l'instruction suivante
print(random.choice(random.choice(tuple(dictionnaire.values()))))bien qu'elle soit très interessante, ne permet pas de faire les choses de manière graduelle. Par exemple, si en premier on sélectionne aléatoirement une clé, et qu'un raw_input() vient là pour permettre une validation ou une demande, comment, à partir de la clé trouvée on pourrais ensuite sélectionner aléatoirement une valeur ?
Un détaille, mais si possible il faut que l'on sache d'abord quelle est la clé, et ensuite une valeur correspondante est sélectionnée aléatoirement.
je me penche sur la question en même temps, tuple() change la liste des valeurs du dico en tuple, mais est-ce utile ?
dictionnaire = {}
dictionnaire['clef']='valeur1', 'valeur2'
dictionnaire['clef1']='valeur1', 'valeur2'
J'ai essayé quelque chose, j'ai eu le message d'erreur suivant:
built-in method keys of dict object at 0x10c5dc5c
En tout cas yg_be merci de me faciliter la vie comme tu fais.
en fait le random.choice() renvoi une clé aléatoire, donc ok.
cependant, comme cette clé contient des valeurs, je me demande bien comment sélectionner une seule valeur aléatoirement à partir de la clé choisie préalablement. Soit à partir du résultat de la fonction précédente.
Ce qu'il faut c'est que, aléatoirement, pour une des deux clés il y ait une seule valeur associée.
en quelques mots, réinjecter le résultat de la clé dans l'opération sur la valeur.
?
ou bien
La seconde également